/****************************************************************************
 *
 *   Copyright (c) 2020-2021 PX4 Development Team. All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in
 *    the documentation and/or other materials provided with the
 *    distribution.
 * 3. Neither the name PX4 nor the names of its contributors may be
 *    used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
 * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
 * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
 * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
 * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
 * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
 * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
 * POSSIBILITY OF SUCH DAMAGE.
 *
 ****************************************************************************/

#include <gtest/gtest.h>
#include <math.h>
#include <mathlib/mathlib.h>

#include "geo_mag_declination.h"


TEST(GeoLookupTest, declination)
{
	EXPECT_NEAR(get_mag_declination_degrees(-50, -180), 31.3488, 0.40063 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -175), 31.54727, 0.3937 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -170), 31.56733, 0.38792 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -165), 31.45765, 0.3831 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -160), 31.26095, 0.37907 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -155), 31.01705, 0.3757 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -150), 30.76384, 0.37288 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -145), 30.53506, 0.37051 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -140), 30.35517, 0.36851 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -135), 30.23285, 0.3668 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -130), 30.15562, 0.36535 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -125), 30.08705, 0.36413 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -120), 29.96768, 0.36315 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -115), 29.71927, 0.36247 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -110), 29.25185, 0.36217 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -105), 28.47274, 0.36238 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -100), 27.29674, 0.36324 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -95), 25.65652, 0.3649 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -90), 23.51229, 0.36753 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -85), 20.85999, 0.37124 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -80), 17.73741, 0.37613 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -75), 14.22702, 0.38223 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -70), 10.45372, 0.38956 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -65), 6.57529, 0.3981 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -60), 2.76512, 0.40786 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -55), -0.81079, 0.41882 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -50), -4.01726, 0.431 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -45), -6.76829, 0.44434 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -40), -9.03647, 0.45867 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -35), -10.85277, 0.47366 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -30), -12.2987, 0.48874 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -25), -13.49443, 0.5031 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -20), -14.5862, 0.51576 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -15), -15.73403, 0.52557 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -10), -17.09773, 0.53148 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, -5), -18.81778, 0.53266 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 0), -20.9915, 0.5288 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 5), -23.65147, 0.52017 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 10), -26.75678, 0.50765 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 15), -30.20316, 0.49252 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 20), -33.84841, 0.47621 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 25), -37.54221, 0.46005 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 30), -41.14893, 0.44514 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 35), -44.55866, 0.43221 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 40), -47.68767, 0.42172 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 45), -50.47306, 0.41387 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 50), -52.86578, 0.40873 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 55), -54.82465, 0.40628 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 60), -56.31155, 0.40653 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 65), -57.28719, 0.40951 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 70), -57.70597, 0.41531 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 75), -57.50942, 0.42414 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 80), -56.61862, 0.4363 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 85), -54.9278, 0.45215 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 90), -52.30384, 0.47191 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 95), -48.59833, 0.49544 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 100), -43.68109, 0.52172 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 105), -37.50142, 0.5484 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 110), -30.16849, 0.57166 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 115), -22.00883, 0.58705 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 120), -13.53628, 0.5914 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 125), -5.31528, 0.58437 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 130), 2.2024, 0.56843 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 135), 8.76152, 0.5472 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 140), 14.2863, 0.52403 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 145), 18.81628, 0.50123 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 150), 22.4462, 0.4801 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 155), 25.28841, 0.46125 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 160), 27.45496, 0.44485 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 165), 29.05127, 0.4308 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 170), 30.17472, 0.41892 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 175), 30.91414, 0.40896 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-50, 180), 31.3488, 0.40063 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -180), 26.41171, 0.37415 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -175), 26.7187, 0.37027 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -170), 26.85589, 0.36703 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -165), 26.8629, 0.36434 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -160), 26.77295, 0.36212 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -155), 26.61763, 0.36032 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -150), 26.43068, 0.35888 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -145), 26.24779, 0.35778 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -140), 26.10193, 0.35699 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -135), 26.016, 0.35649 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -130), 25.99523, 0.35626 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -125), 26.02148, 0.3563 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -120), 26.04997, 0.35661 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -115), 26.00874, 0.35721 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -110), 25.80124, 0.35816 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -105), 25.31354, 0.35955 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -100), 24.42645, 0.36151 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -95), 23.03166, 0.36423 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -90), 21.04921, 0.36791 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -85), 18.44352, 0.37272 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -80), 15.23632, 0.37878 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -75), 11.51462, 0.38613 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -70), 7.4306, 0.39474 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -65), 3.18923, 0.40457 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -60), -0.97844, 0.41559 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -55), -4.85175, 0.42788 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -50), -8.25648, 0.44157 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -45), -11.08915, 0.45678 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -40), -13.32396, 0.47357 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -35), -15.00342, 0.49179 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -30), -16.219, 0.51106 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -25), -17.09081, 0.53066 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -20), -17.75547, 0.54947 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -15), -18.36551, 0.5659 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -10), -19.09362, 0.57803 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, -5), -20.12607, 0.58395 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 0), -21.6321, 0.58234 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 5), -23.71522, 0.57295 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 10), -26.37322, 0.55678 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 15), -29.49426, 0.53582 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 20), -32.89279, 0.51252 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 25), -36.36286, 0.48921 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 30), -39.7209, 0.46771 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 35), -42.82464, 0.44917 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 40), -45.57151, 0.43416 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 45), -47.88743, 0.42283 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 50), -49.71499, 0.41508 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 55), -51.00518, 0.41066 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 60), -51.71278, 0.40932 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 65), -51.79343, 0.41079 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 70), -51.20041, 0.41484 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 75), -49.88069, 0.42123 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 80), -47.77328, 0.42969 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 85), -44.81593, 0.4398 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 90), -40.96715, 0.45081 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 95), -36.24447, 0.46157 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 100), -30.76532, 0.47059 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 105), -24.76122, 0.4764 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 110), -18.53962, 0.47815 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 115), -12.40455, 0.47589 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 120), -6.58481, 0.47039 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 125), -1.21051, 0.46265 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 130), 3.66539, 0.45358 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 135), 8.03111, 0.44385 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 140), 11.88982, 0.43391 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 145), 15.24857, 0.42411 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 150), 18.11691, 0.4147 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 155), 20.50882, 0.40588 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 160), 22.44543, 0.39781 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 165), 23.95762, 0.39058 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 170), 25.08736, 0.38424 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 175), 25.88643, 0.37878 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-45, 180), 26.41171, 0.37415 + 2);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -180), 22.59998, 0.35472 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -175), 22.94391, 0.35268 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -170), 23.13685, 0.35103 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -165), 23.21222, 0.34971 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -160), 23.19313, 0.34868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -155), 23.09881, 0.34791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -150), 22.9519, 0.34739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -145), 22.7815, 0.34712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -140), 22.62057, 0.34711 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -135), 22.49921, 0.34739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -130), 22.43704, 0.34797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -125), 22.43611, 0.34887 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -120), 22.47435, 0.3501 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -115), 22.49881, 0.35166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -110), 22.42073, 0.35355 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -105), 22.1166, 0.35584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -100), 21.4395, 0.35865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -95), 20.24058, 0.36216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -90), 18.39626, 0.3666 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -85), 15.83479, 0.37218 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -80), 12.55822, 0.37902 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -75), 8.65696, 0.38714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -70), 4.31229, 0.39643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -65), -0.22065, 0.40676 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -60), -4.65278, 0.41811 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -55), -8.71547, 0.43061 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -50), -12.21047, 0.44454 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -45), -15.0377, 0.4602 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -40), -17.19456, 0.47786 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -35), -18.7517, 0.49762 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -30), -19.8164, 0.51939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -25), -20.49846, 0.54284 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -20), -20.89472, 0.56714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -15), -21.10175, 0.59075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -10), -21.25026, 0.61118 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, -5), -21.53375, 0.62524 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 0), -22.19414, 0.62988 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 5), -23.44887, 0.62336 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 10), -25.3955, 0.60609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 15), -27.962, 0.58054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 20), -30.9386, 0.55038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 25), -34.06106, 0.51937 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 30), -37.08729, 0.49047 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 35), -39.83285, 0.46549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 40), -42.16955, 0.44523 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 45), -44.00808, 0.42979 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 50), -45.28144, 0.41884 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 55), -45.93582, 0.41186 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 60), -45.92783, 0.40825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 65), -45.2242, 0.4074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 70), -43.80069, 0.40872 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 75), -41.6401, 0.41157 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 80), -38.73504, 0.4153 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 85), -35.10338, 0.41913 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 90), -30.81846, 0.42217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 95), -26.03874, 0.42356 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 100), -21.00678, 0.42276 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 105), -15.99786, 0.4198 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 110), -11.23997, 0.41523 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 115), -6.85687, 0.40986 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 120), -2.86653, 0.40436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 125), 0.77709, 0.39909 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 130), 4.13324, 0.39412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 135), 7.24069, 0.38939 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 140), 10.10829, 0.38478 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 145), 12.72253, 0.38025 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 150), 15.05981, 0.37579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 155), 17.09601, 0.37147 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 160), 18.81274, 0.36736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 165), 20.20287, 0.36356 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 170), 21.27596, 0.36016 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 175), 22.06046, 0.3572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-40, 180), 22.59998, 0.35472 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -180), 19.54187, 0.33998 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -175), 19.88008, 0.33908 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -170), 20.08955, 0.33845 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -165), 20.20239, 0.33805 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -160), 20.23438, 0.33784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -155), 20.19221, 0.3378 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -150), 20.0841, 0.33792 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -145), 19.92673, 0.33824 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -140), 19.74545, 0.33876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -135), 19.56963, 0.33955 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -130), 19.42662, 0.34063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -125), 19.33547, 0.34204 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -120), 19.29833, 0.34381 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -115), 19.28789, 0.34591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -110), 19.23313, 0.34835 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -105), 19.01162, 0.35114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -100), 18.45746, 0.35438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -95), 17.38736, 0.35827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -90), 15.63823, 0.36304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -85), 13.10573, 0.36892 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -80), 9.77606, 0.37601 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -75), 5.7471, 0.38425 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -70), 1.23182, 0.39346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -65), -3.46632, 0.40344 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -60), -8.00982, 0.41417 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -55), -12.09975, 0.42587 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -50), -15.53544, 0.43895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -45), -18.23968, 0.45384 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -40), -20.24651, 0.47089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -35), -21.66139, 0.4903 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -30), -22.6082, 0.51221 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -25), -23.1816, 0.53661 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -20), -23.42614, 0.56323 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -15), -23.35697, 0.59109 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -10), -23.01949, 0.61797 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, -5), -22.55948, 0.64017 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 0), -22.25051, 0.65314 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 5), -22.42869, 0.65313 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 10), -23.3478, 0.63895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 15), -25.0531, 0.61265 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 20), -27.36992, 0.57861 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 25), -30.00025, 0.54189 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 30), -32.63961, 0.50677 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 35), -35.04384, 0.47599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 40), -37.03921, 0.45078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 45), -38.50546, 0.43128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 50), -39.35819, 0.41701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 55), -39.54066, 0.40716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 60), -39.0228, 0.40086 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 65), -37.80089, 0.39722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 70), -35.89304, 0.39541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 75), -33.33184, 0.39464 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 80), -30.16394, 0.3942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 85), -26.46642, 0.3934 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 90), -22.37578, 0.39164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 95), -18.10268, 0.38856 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 100), -13.90177, 0.38423 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 105), -9.99846, 0.37913 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 110), -6.51764, 0.37393 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 115), -3.46104, 0.36919 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 120), -0.74015, 0.36521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 125), 1.76376, 0.36198 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 130), 4.14607, 0.35934 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 135), 6.45162, 0.35705 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 140), 8.67665, 0.3549 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 145), 10.78814, 0.35278 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 150), 12.74384, 0.35065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 155), 14.50299, 0.34851 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 160), 16.02962, 0.34643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 165), 17.29635, 0.34446 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 170), 18.29196, 0.34269 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 175), 19.02866, 0.34118 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-35, 180), 19.54187, 0.33998 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -180), 17.04476, 0.32867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -175), 17.3477, 0.32848 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -170), 17.54265, 0.32851 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -165), 17.6654, 0.32873 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -160), 17.72888, 0.3291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -155), 17.72996, 0.32959 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -150), 17.66274, 0.33021 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -145), 17.52911, 0.33096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -140), 17.34209, 0.33188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -135), 17.12396, 0.33301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -130), 16.90314, 0.33439 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -125), 16.7101, 0.33607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -120), 16.56818, 0.33806 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -115), 16.47558, 0.34036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -110), 16.38177, 0.34293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -105), 16.17055, 0.3458 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -100), 15.66405, 0.34907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -95), 14.65324, 0.35292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -90), 12.9458, 0.35761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -85), 10.41595, 0.36333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -80), 7.04479, 0.37013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -75), 2.9455, 0.37787 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -70), -1.636, 0.38629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -65), -6.35728, 0.39518 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -60), -10.8524, 0.40457 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -55), -14.81651, 0.4148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -50), -18.06572, 0.42636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -45), -20.55304, 0.43973 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -40), -22.34452, 0.45521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -35), -23.56913, 0.47292 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -30), -24.35648, 0.49293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -25), -24.78191, 0.5153 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -20), -24.84316, 0.54007 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -15), -24.48591, 0.5668 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -10), -23.67632, 0.59403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, -5), -22.49457, 0.61866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 0), -21.19822, 0.63614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 5), -20.19028, 0.64184 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 10), -19.87023, 0.6332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 15), -20.45135, 0.61099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 20), -21.87792, 0.57896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 25), -23.88654, 0.54225 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 30), -26.13549, 0.5057 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 35), -28.30727, 0.47274 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 40), -30.15096, 0.44515 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 45), -31.48502, 0.42335 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 50), -32.18933, 0.4069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 55), -32.20023, 0.39494 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 60), -31.5074, 0.38649 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 65), -30.14553, 0.38056 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 70), -28.17678, 0.37634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 75), -25.67086, 0.37309 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 80), -22.69899, 0.37025 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 85), -19.35366, 0.36729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 90), -15.78232, 0.36383 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 95), -12.19854, 0.35973 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 100), -8.84054, 0.35517 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 105), -5.89104, 0.35058 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 110), -3.41223, 0.34641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 115), -1.33819, 0.34301 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 120), 0.47771, 0.34045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 125), 2.19306, 0.33865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 130), 3.91814, 0.33737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 135), 5.69067, 0.33637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 140), 7.48667, 0.33545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 145), 9.2519, 0.33453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 150), 10.93013, 0.33356 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 155), 12.47374, 0.33255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 160), 13.84096, 0.33155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 165), 14.99417, 0.33059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 170), 15.90795, 0.32975 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 175), 16.58167, 0.3291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-30, 180), 17.04476, 0.32867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -180), 15.00544, 0.32009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -175), 15.2516, 0.32034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -170), 15.40546, 0.32079 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -165), 15.51065, 0.32142 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -160), 15.58203, 0.32219 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -155), 15.61089, 0.32308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -150), 15.57997, 0.32407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -145), 15.47708, 0.32516 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -140), 15.30139, 0.32637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -135), 15.0647, 0.32774 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -130), 14.79177, 0.3293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -125), 14.51912, 0.33109 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -120), 14.28576, 0.3331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -115), 14.1103, 0.33533 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -110), 13.95883, 0.33775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -105), 13.72025, 0.3404 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -100), 13.20843, 0.34339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -95), 12.19784, 0.34692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -90), 10.48077, 0.35122 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -85), 7.92573, 0.35644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -80), 4.52299, 0.36255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -75), 0.40924, 0.36931 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -70), -4.13959, 0.37644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -65), -8.75838, 0.38374 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -60), -13.07756, 0.39137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -55), -16.80845, 0.39974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -50), -19.79279, 0.4094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -45), -22.00629, 0.4208 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -40), -23.52765, 0.43412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -35), -24.48682, 0.44929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -30), -25.00375, 0.46613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -25), -25.13481, 0.48447 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -20), -24.85192, 0.50423 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -15), -24.07215, 0.52515 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -10), -22.73297, 0.54634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, -5), -20.88539, 0.56578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 0), -18.76047, 0.58025 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 5), -16.75653, 0.58619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 10), -15.32228, 0.58121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 15), -14.7873, 0.56525 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 20), -15.2449, 0.54054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 25), -16.5485, 0.51074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 30), -18.39389, 0.47971 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 35), -20.42116, 0.4506 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 40), -22.29266, 0.42537 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 45), -23.73861, 0.40478 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 50), -24.57886, 0.38871 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 55), -24.7288, 0.37654 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 60), -24.19101, 0.36745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 65), -23.03102, 0.36065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 70), -21.34035, 0.35544 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 75), -19.20277, 0.3513 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 80), -16.68652, 0.34777 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 85), -13.87274, 0.34449 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 90), -10.89901, 0.34114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 95), -7.97299, 0.33763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 100), -5.32534, 0.33404 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 105), -3.12209, 0.33066 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 110), -1.39671, 0.32779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 115), -0.04569, 0.32561 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 120), 1.11599, 0.32415 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 125), 2.27423, 0.3233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 130), 3.5487, 0.32284 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 135), 4.96597, 0.32256 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 140), 6.47845, 0.32232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 145), 8.00908, 0.32204 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 150), 9.48927, 0.32169 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 155), 10.86932, 0.3213 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 160), 12.10809, 0.32089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 165), 13.1637, 0.32051 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 170), 14.00037, 0.32021 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 175), 14.60624, 0.32005 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-25, 180), 15.00544, 0.32009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -180), 13.36431, 0.31385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -175), 13.53972, 0.31436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -170), 13.6313, 0.31508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -165), 13.69357, 0.31597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -160), 13.74761, 0.317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -155), 13.78367, 0.31815 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -150), 13.77688, 0.3194 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -145), 13.70331, 0.32072 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -140), 13.54927, 0.32214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -135), 13.31561, 0.32366 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -130), 13.02145, 0.3253 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -125), 12.70548, 0.32708 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -120), 12.41627, 0.32898 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -115), 12.18471, 0.33099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -110), 11.9853, 0.33311 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -105), 11.70713, 0.3354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -100), 11.15748, 0.33798 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -95), 10.10373, 0.34107 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -90), 8.33776, 0.34485 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -85), 5.73896, 0.3494 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -80), 2.32001, 0.35458 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -75), -1.75437, 0.36011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -70), -6.18658, 0.36568 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -65), -10.60836, 0.37119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -60), -14.66815, 0.37686 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -55), -18.10542, 0.38317 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -50), -20.78419, 0.39069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -45), -22.68646, 0.39978 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -40), -23.88114, 0.41051 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -35), -24.47993, 0.42264 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -30), -24.58643, 0.43569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -25), -24.25168, 0.44917 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -20), -23.45845, 0.4627 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -15), -22.15057, 0.47595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -10), -20.29862, 0.48841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, -5), -17.97171, 0.49906 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 0), -15.3785, 0.50636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 5), -12.85145, 0.50859 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 10), -10.77256, 0.5045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 15), -9.46956, 0.49387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 20), -9.12639, 0.47764 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 25), -9.73792, 0.45766 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 30), -11.11608, 0.43614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 35), -12.93988, 0.41509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 40), -14.83378, 0.39602 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 45), -16.45206, 0.37975 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 50), -17.54483, 0.36649 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 55), -17.98938, 0.35602 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 60), -17.783, 0.34787 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 65), -17.0031, 0.34153 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 70), -15.75101, 0.33657 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 75), -14.10668, 0.33263 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 80), -12.1219, 0.3294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 85), -9.85795, 0.32661 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 90), -7.4384, 0.32401 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 95), -5.06647, 0.32148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 100), -2.97481, 0.31904 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 105), -1.33034, 0.31685 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 110), -0.15824, 0.31509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 115), 0.66574, 0.31388 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 120), 1.35487, 0.31321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 125), 2.11912, 0.31299 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 130), 3.08641, 0.31304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 135), 4.27203, 0.31321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 140), 5.60473, 0.31337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 145), 6.98484, 0.31346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 150), 8.33214, 0.31348 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 155), 9.5967, 0.31346 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 160), 10.74064, 0.31341 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 165), 11.72069, 0.31337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 170), 12.49265, 0.31339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 175), 13.03428, 0.31354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-20, 180), 13.36431, 0.31385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -180), 12.07916, 0.3097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -175), 12.1791, 0.31038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -170), 12.19534, 0.31125 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -165), 12.19561, 0.31229 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -160), 12.21082, 0.31348 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -155), 12.23423, 0.31478 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -150), 12.2368, 0.31616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -145), 12.18541, 0.31761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -140), 12.05532, 0.31911 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -135), 11.83784, 0.32067 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -130), 11.54685, 0.32229 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -125), 11.22128, 0.32396 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -120), 10.91363, 0.32567 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -115), 10.6582, 0.3274 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -110), 10.42848, 0.32917 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -105), 10.10828, 0.33107 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -100), 9.50026, 0.33326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -95), 8.37437, 0.33592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -90), 6.53626, 0.33918 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -85), 3.89014, 0.34304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -80), 0.47952, 0.34726 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -75), -3.50454, 0.35151 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -70), -7.75544, 0.35552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -65), -11.9196, 0.35925 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -60), -15.67573, 0.363 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -55), -18.79147, 0.36726 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -50), -21.1421, 0.37253 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -45), -22.70033, 0.37912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -40), -23.5122, 0.38701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -35), -23.66633, 0.39585 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -30), -23.25864, 0.405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -25), -22.36017, 0.41377 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -20), -21.00454, 0.42159 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -15), -19.20688, 0.42811 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -10), -17.00487, 0.43316 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, -5), -14.49601, 0.43651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 0), -11.84934, 0.43788 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 5), -9.29044, 0.43683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 10), -7.07301, 0.43296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 15), -5.44566, 0.42608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 20), -4.6094, 0.41641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 25), -4.66258, 0.40462 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 30), -5.55048, 0.39167 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 35), -7.05202, 0.37854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 40), -8.82488, 0.3661 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 45), -10.4983, 0.35493 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 50), -11.77324, 0.34536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 55), -12.48612, 0.33742 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 60), -12.61391, 0.33097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 65), -12.22757, 0.32578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 70), -11.42218, 0.32164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 75), -10.26342, 0.31835 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 80), -8.78176, 0.31573 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 85), -7.01667, 0.3136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 90), -5.07592, 0.31176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 95), -3.15656, 0.31011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 100), -1.49451, 0.30863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 105), -0.26422, 0.30738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 110), 0.50647, 0.30648 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 115), 0.95117, 0.30597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 120), 1.30292, 0.30586 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 125), 1.79142, 0.30606 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 130), 2.55226, 0.30645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 135), 3.59158, 0.30691 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 140), 4.81778, 0.30735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 145), 6.11114, 0.30771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 150), 7.38081, 0.308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 155), 8.57635, 0.30823 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 160), 9.66294, 0.30843 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 165), 10.59617, 0.30863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 170), 11.32408, 0.30887 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 175), 11.81412, 0.30921 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-15, 180), 12.07916, 0.3097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -180), 11.10832, 0.30748 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -175), 11.13976, 0.30827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -170), 11.07898, 0.30923 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -165), 11.00859, 0.31036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -160), 10.97258, 0.31161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -155), 10.97069, 0.31296 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -150), 10.97232, 0.31437 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -145), 10.9367, 0.31581 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -140), 10.82922, 0.31727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -135), 10.63323, 0.31874 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -130), 10.35883, 0.32022 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -125), 10.04463, 0.32169 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -120), 9.74281, 0.32314 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -115), 9.48354, 0.32456 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -110), 9.23173, 0.326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -105), 8.86281, 0.32758 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -100), 8.17859, 0.32945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -95), 6.96113, 0.33177 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -90), 5.04142, 0.33461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -85), 2.35749, 0.33784 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -80), -1.01443, 0.34119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -75), -4.86445, 0.34429 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -70), -8.8909, 0.34692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -65), -12.76658, 0.3491 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -60), -16.20244, 0.35114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -55), -18.98635, 0.35351 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -50), -20.99385, 0.35665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -45), -22.18189, 0.36078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -40), -22.57561, 0.36588 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -35), -22.25139, 0.37155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -30), -21.31516, 0.37718 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -25), -19.8795, 0.38207 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -20), -18.04877, 0.38568 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -15), -15.91913, 0.38776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -10), -13.58781, 0.38839 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, -5), -11.15877, 0.38782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 0), -8.7402, 0.38629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 5), -6.4439, 0.3839 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 10), -4.39666, 0.38059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 15), -2.75541, 0.37619 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 20), -1.69964, 0.37065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 25), -1.38137, 0.36409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 30), -1.84773, 0.35683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 35), -2.9835, 0.34927 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 40), -4.51783, 0.34179 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 45), -6.10256, 0.33474 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 50), -7.42471, 0.32836 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 55), -8.2943, 0.32279 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 60), -8.66652, 0.31804 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 65), -8.59735, 0.31408 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 70), -8.16777, 0.31084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 75), -7.42532, 0.30824 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 80), -6.37871, 0.3062 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 85), -5.04558, 0.30462 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 90), -3.51545, 0.30338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 95), -1.97395, 0.30238 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 100), -0.65494, 0.30158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 105), 0.26108, 0.30102 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 110), 0.73919, 0.30072 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 115), 0.91373, 0.30072 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 120), 1.02831, 0.30099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 125), 1.326, 0.30149 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 130), 1.94864, 0.30213 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 135), 2.8968, 0.30281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 140), 4.06471, 0.30347 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 145), 5.31769, 0.30407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 150), 6.55585, 0.3046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 155), 7.72684, 0.30508 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 160), 8.7966, 0.3055 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 165), 9.71816, 0.30591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 170), 10.43132, 0.30634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 175), 10.89272, 0.30684 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-10, 180), 11.10832, 0.30748 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -180), 10.4004, 0.30703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -175), 10.38441, 0.30794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -170), 10.25906, 0.30897 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -165), 10.12297, 0.31013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -160), 10.03611, 0.31138 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -155), 10.00784, 0.3127 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -150), 10.00796, 0.31403 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -145), 9.98838, 0.31535 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -140), 9.90445, 0.31665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -135), 9.73195, 0.31791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -130), 9.47805, 0.31913 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -125), 9.18077, 0.32031 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -120), 8.88921, 0.32144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -115), 8.62474, 0.32255 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -110), 8.34019, 0.3237 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -105), 7.90331, 0.32503 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -100), 7.12083, 0.32669 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -95), 5.79549, 0.32878 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -90), 3.79158, 0.33128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -85), 1.08443, 0.33401 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -80), -2.22073, 0.33664 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -75), -5.90553, 0.33881 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -70), -9.68445, 0.34033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -65), -13.26101, 0.34126 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -60), -16.37352, 0.34191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -55), -18.82135, 0.3427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -50), -20.476, 0.34398 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -45), -21.28376, 0.34597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -40), -21.26292, 0.34862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -35), -20.49507, 0.3516 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -30), -19.10959, 0.35443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -25), -17.26354, 0.35655 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -20), -15.12146, 0.35757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -15), -12.83821, 0.35737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -10), -10.54368, 0.35611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, -5), -8.32893, 0.35415 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 0), -6.24158, 0.35183 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 5), -4.3013, 0.34937 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 10), -2.53763, 0.34679 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 15), -1.03194, 0.34395 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 20), 0.0694, 0.34075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 25), 0.59597, 0.33712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 30), 0.43845, 0.33312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 35), -0.37059, 0.32888 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 40), -1.63435, 0.32452 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 45), -3.04947, 0.32022 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 50), -4.3155, 0.31611 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 55), -5.23461, 0.31233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 60), -5.74776, 0.30895 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 65), -5.89711, 0.30602 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 70), -5.74982, 0.30355 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 75), -5.33749, 0.30152 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 80), -4.65037, 0.29994 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 85), -3.68614, 0.29875 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 90), -2.51432, 0.2979 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 95), -1.30307, 0.29733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 100), -0.27573, 0.297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 105), 0.38748, 0.2969 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 110), 0.64507, 0.29702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 115), 0.62585, 0.29737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 120), 0.5743, 0.29791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 125), 0.73864, 0.29862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 130), 1.26453, 0.29945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 135), 2.15135, 0.30033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 140), 3.28736, 0.30121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 145), 4.52993, 0.30206 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 150), 5.77254, 0.30285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 155), 6.95913, 0.30359 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 160), 8.05321, 0.30427 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 165), 9.00297, 0.30492 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 170), 9.73882, 0.30556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 175), 10.20559, 0.30625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(-5, 180), 10.4004, 0.30703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -180), 9.88915, 0.30822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -175), 9.86267, 0.30926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -170), 9.70163, 0.31038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -165), 9.52058, 0.31155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -160), 9.39772, 0.31276 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -155), 9.355, 0.31397 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -150), 9.36435, 0.31515 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -145), 9.37027, 0.31626 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -140), 9.31687, 0.31728 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -135), 9.17119, 0.31824 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -130), 8.93671, 0.31912 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -125), 8.64987, 0.31994 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -120), 8.3549, 0.32072 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -115), 8.063, 0.32151 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -110), 7.71582, 0.3224 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -105), 7.17784, 0.32355 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -100), 6.26753, 0.32505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -95), 4.81524, 0.32698 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -90), 2.72277, 0.32924 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -85), 0.00204, 0.33157 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -80), -3.21909, 0.33364 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -75), -6.72291, 0.33511 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -70), -10.24584, 0.33581 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -65), -13.52077, 0.33581 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -60), -16.30737, 0.3354 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -55), -18.41319, 0.33493 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -50), -19.7106, 0.33474 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -45), -20.1488, 0.33501 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -40), -19.75641, 0.33572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -35), -18.63302, 0.33667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -30), -16.93197, 0.33751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -25), -14.8389, 0.33789 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -20), -12.54938, 0.33754 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -15), -10.24491, 0.33641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -10), -8.06602, 0.33465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, -5), -6.08852, 0.33253 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 0), -4.31753, 0.33034 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 5), -2.71164, 0.32825 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 10), -1.23451, 0.32629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 15), 0.08876, 0.32441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 20), 1.14556, 0.32248 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 25), 1.76727, 0.32042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 30), 1.81257, 0.31819 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 35), 1.25798, 0.3158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 40), 0.23899, 0.31327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 45), -0.98864, 0.31065 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 50), -2.14901, 0.30801 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 55), -3.04875, 0.30545 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 60), -3.62271, 0.30306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 65), -3.90418, 0.3009 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 70), -3.95143, 0.29901 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 75), -3.78645, 0.29741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 80), -3.38755, 0.29615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 85), -2.73677, 0.29522 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 90), -1.88374, 0.29462 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 95), -0.97424, 0.2943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 100), -0.21271, 0.29425 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 105), 0.22949, 0.29444 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 110), 0.30799, 0.29483 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 115), 0.14255, 0.29541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 120), -0.03051, 0.29614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 125), 0.03356, 0.29701 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 130), 0.48122, 0.29799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 135), 1.31515, 0.29907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 140), 2.42651, 0.30018 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 145), 3.67271, 0.3013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 150), 4.94382, 0.3024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 155), 6.17867, 0.30345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 160), 7.33514, 0.30445 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 165), 8.35434, 0.3054 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 170), 9.15631, 0.30632 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 175), 9.67274, 0.30725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(0, 180), 9.88915, 0.30822 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -180), 9.49255, 0.31084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -175), 9.5085, 0.31207 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -170), 9.35845, 0.31329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -165), 9.17051, 0.31448 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -160), 9.04169, 0.31561 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -155), 9.00874, 0.31668 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -150), 9.04774, 0.31763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -145), 9.09636, 0.31846 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -140), 9.0865, 0.31916 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -135), 8.9746, 0.31975 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -130), 8.75808, 0.32025 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -125), 8.46949, 0.32068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -120), 8.14695, 0.32111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -115), 7.79242, 0.3216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -110), 7.34053, 0.32228 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -105), 6.65896, 0.32326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -100), 5.58469, 0.32465 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -95), 3.98041, 0.32644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -90), 1.78671, 0.32848 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -85), -0.95074, 0.33049 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -80), -4.08698, 0.33211 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -75), -7.40946, 0.33305 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -70), -10.6765, 0.33316 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -65), -13.64645, 0.3325 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -60), -16.09815, 0.33131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -55), -17.85208, 0.32992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -50), -18.79393, 0.32863 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -45), -18.89159, 0.32762 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -40), -18.19621, 0.32694 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -35), -16.82762, 0.32646 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -30), -14.95174, 0.32601 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -25), -12.75903, 0.32537 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -20), -10.44644, 0.32438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -15), -8.19679, 0.32299 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -10), -6.15029, 0.32128 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, -5), -4.37492, 0.31942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 0), -2.85546, 0.31759 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 5), -1.51752, 0.31591 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 10), -0.2841, 0.31443 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 15), 0.86022, 0.31312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 20), 1.83411, 0.31189 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 25), 2.48163, 0.31068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 30), 2.64931, 0.30941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 35), 2.27865, 0.30806 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 40), 1.45854, 0.30657 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 45), 0.40217, 0.30495 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 50), -0.64159, 0.30322 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 55), -1.48909, 0.30146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 60), -2.07367, 0.29974 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 65), -2.42381, 0.29811 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 70), -2.59438, 0.29663 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 75), -2.60543, 0.29534 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 80), -2.43166, 0.29429 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 85), -2.04581, 0.29352 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 90), -1.47982, 0.29303 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 95), -0.85459, 0.29285 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 100), -0.34882, 0.29294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 105), -0.11685, 0.29328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 110), -0.20058, 0.29383 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 115), -0.49034, 0.29455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 120), -0.76457, 0.2954 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 125), -0.7895, 0.29638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 130), -0.42056, 0.29751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 135), 0.352, 0.29876 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 140), 1.43038, 0.30012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 145), 2.67961, 0.30154 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 150), 3.99005, 0.30298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 155), 5.29483, 0.3044 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 160), 6.544, 0.30577 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 165), 7.67022, 0.30709 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 170), 8.58297, 0.30837 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 175), 9.20008, 0.30961 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(5, 180), 9.49255, 0.31084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -180), 9.11705, 0.3146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -175), 9.24137, 0.31608 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -170), 9.16609, 0.31744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -165), 9.02711, 0.31865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -160), 8.9375, 0.31971 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -155), 8.94925, 0.3206 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -150), 9.04475, 0.3213 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -145), 9.15706, 0.32182 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -140), 9.20681, 0.32218 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -135), 9.13863, 0.32241 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -130), 8.94098, 0.32254 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -125), 8.6392, 0.32263 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -120), 8.26378, 0.32274 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -115), 7.80945, 0.32298 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -110), 7.20912, 0.32348 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -105), 6.34032, 0.32434 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -100), 5.06387, 0.32561 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -95), 3.27733, 0.32725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -90), 0.95933, 0.32906 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -85), -1.81348, 0.33075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -80), -4.88141, 0.33197 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -75), -8.03601, 0.33247 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -70), -11.05289, 0.33212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -65), -13.71244, 0.33099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -60), -15.81599, 0.32926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -55), -17.20846, 0.32722 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -50), -17.80438, 0.32517 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -45), -17.60269, 0.32328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -40), -16.68077, 0.32165 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -35), -15.17153, 0.32026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -30), -13.2374, 0.31902 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -25), -11.05285, 0.31782 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -20), -8.79577, 0.31654 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -15), -6.63575, 0.31515 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -10), -4.70852, 0.31364 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, -5), -3.08242, 0.3121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 0), -1.7398, 0.31063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 5), -0.59501, 0.3093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 10), 0.45038, 0.30816 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 15), 1.43994, 0.3072 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 20), 2.32036, 0.30638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 25), 2.9545, 0.30565 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 30), 3.18984, 0.30493 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 35), 2.94805, 0.30417 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 40), 2.28351, 0.3033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 45), 1.37306, 0.30228 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 50), 0.43941, 0.30112 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 55), -0.34491, 0.29985 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 60), -0.91323, 0.29855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 65), -1.29085, 0.29727 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 70), -1.53276, 0.29606 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 75), -1.66351, 0.29497 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 80), -1.66231, 0.29404 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 85), -1.49982, 0.29333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 90), -1.19431, 0.29289 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 95), -0.84154, 0.29274 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 100), -0.59036, 0.29288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 105), -0.57168, 0.29328 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 110), -0.81953, 0.29389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 115), -1.23317, 0.29466 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 120), -1.60916, 0.29557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 125), -1.72942, 0.29663 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 130), -1.45332, 0.29785 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 135), -0.76137, 0.29926 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 140), 0.2654, 0.30084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 145), 1.5056, 0.30256 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 150), 2.85326, 0.30435 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 155), 4.23628, 0.30616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 160), 5.596, 0.30796 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 165), 6.85674, 0.30972 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 170), 7.91893, 0.31141 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 175), 8.68751, 0.31304 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(10, 180), 9.11705, 0.3146 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -180), 8.66936, 0.3191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -175), 8.97354, 0.32087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -170), 9.04931, 0.32241 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -165), 9.03064, 0.32369 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -160), 9.0393, 0.32467 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -155), 9.13953, 0.32538 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -150), 9.32155, 0.32583 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -145), 9.51797, 0.32607 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -140), 9.64201, 0.32613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -135), 9.62767, 0.32606 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -130), 9.45237, 0.32592 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -125), 9.13079, 0.32576 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -120), 8.68382, 0.32567 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -115), 8.10047, 0.32576 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -110), 7.31643, 0.32615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -105), 6.22413, 0.32692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -100), 4.71145, 0.32809 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -95), 2.71117, 0.32956 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -90), 0.23827, 0.33111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -85), -2.60126, 0.33242 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -80), -5.63165, 0.33321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -75), -8.64321, 0.33327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -70), -11.42256, 0.33251 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -65), -13.77069, 0.33099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -60), -15.51869, 0.32889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -55), -16.54958, 0.32644 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -50), -16.8198, 0.32391 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -45), -16.36541, 0.32148 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -40), -15.28635, 0.31927 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -35), -13.71764, 0.31733 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -30), -11.80444, 0.31564 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -25), -9.6926, 0.31415 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -20), -7.53113, 0.31277 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -15), -5.46996, 0.31144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -10), -3.63865, 0.31015 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, -5), -2.11067, 0.30889 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 0), -0.87733, 0.30772 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 5), 0.14296, 0.30667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 10), 1.05527, 0.30577 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 15), 1.92113, 0.30505 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 20), 2.71185, 0.30449 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 25), 3.31285, 0.30405 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 30), 3.58188, 0.30368 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 35), 3.43208, 0.3033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 40), 2.89259, 0.30281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 45), 2.10861, 0.30216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 50), 1.27738, 0.30133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 55), 0.55927, 0.30036 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 60), 0.0205, 0.2993 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 65), -0.36098, 0.29821 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 70), -0.64114, 0.29715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 75), -0.85251, 0.29615 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 80), -0.98488, 0.29527 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 85), -1.01342, 0.29457 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 90), -0.94758, 0.29411 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 95), -0.85973, 0.29393 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 100), -0.86736, 0.29404 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 105), -1.07398, 0.29442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 110), -1.50115, 0.29501 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 115), -2.05416, 0.29578 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 120), -2.54764, 0.29669 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 125), -2.78077, 0.29776 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 130), -2.61781, 0.29904 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 135), -2.02874, 0.30055 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 140), -1.07529, 0.3023 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 145), 0.13786, 0.30426 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 150), 1.51082, 0.30636 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 155), 2.96716, 0.30854 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 160), 4.44005, 0.31075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 165), 5.84716, 0.31294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 170), 7.08336, 0.31509 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 175), 8.04442, 0.31715 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(15, 180), 8.66936, 0.3191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -180), 8.0755, 0.32387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -175), 8.6253, 0.32595 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -170), 8.93114, 0.32771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -165), 9.11271, 0.32907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -160), 9.28828, 0.33001 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -155), 9.52702, 0.33057 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -150), 9.82652, 0.33082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -145), 10.12395, 0.33084 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -140), 10.33181, 0.33069 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -135), 10.37787, 0.33046 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -130), 10.22882, 0.3302 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -125), 9.88626, 0.32998 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -120), 9.35936, 0.32987 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -115), 8.63163, 0.32997 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -110), 7.64379, 0.33039 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -105), 6.30547, 0.33119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -100), 4.53223, 0.33231 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -95), 2.29068, 0.33362 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -90), -0.36973, 0.33486 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -85), -3.3136, 0.33575 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -80), -6.34529, 0.33603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -75), -9.24722, 0.33557 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -70), -11.81179, 0.33434 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -65), -13.86143, 0.33244 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -60), -15.26456, 0.33004 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -55), -15.95238, 0.32735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -50), -15.92972, 0.32457 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -45), -15.26892, 0.32187 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -40), -14.08543, 0.31938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -35), -12.50713, 0.31716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -30), -10.65466, 0.31525 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -25), -8.64143, 0.31362 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -20), -6.58588, 0.31222 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -15), -4.6167, 0.31099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -10), -2.85584, 0.30988 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, -5), -1.38271, 0.30886 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 0), -0.20291, 0.30794 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 5), 0.75142, 0.30712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 10), 1.58084, 0.30643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 15), 2.35604, 0.3059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 20), 3.06937, 0.30554 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 25), 3.63122, 0.30532 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 30), 3.91679, 0.30519 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 35), 3.83972, 0.30507 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 40), 3.41115, 0.30484 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 45), 2.74758, 0.30442 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 50), 2.01962, 0.30378 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 55), 1.37287, 0.30294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 60), 0.87156, 0.30198 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 65), 0.49747, 0.30096 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 70), 0.19486, 0.29993 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 75), -0.07694, 0.29894 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 80), -0.32096, 0.29804 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 85), -0.5214, 0.29729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 90), -0.6834, 0.29677 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 95), -0.85892, 0.29652 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 100), -1.13475, 0.29656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 105), -1.58509, 0.29686 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 110), -2.21533, 0.29738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 115), -2.93276, 0.29807 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 120), -3.56718, 0.29891 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 125), -3.93388, 0.29993 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 130), -3.9024, 0.30118 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 135), -3.43336, 0.30272 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 140), -2.57014, 0.30454 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 145), -1.40088, 0.30663 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 150), -0.01884, 0.30894 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 155), 1.49624, 0.31139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 160), 3.07074, 0.31393 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 165), 4.61852, 0.31651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 170), 6.03409, 0.31906 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 175), 7.21043, 0.32154 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(20, 180), 8.0755, 0.32387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -180), 7.30187, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -175), 8.14522, 0.33087 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -170), 8.74905, 0.33282 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -165), 9.20677, 0.33428 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -160), 9.61859, 0.33523 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -155), 10.04753, 0.33572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -150), 10.49503, 0.33587 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -145), 10.90677, 0.33579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -140), 11.20213, 0.33561 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -135), 11.30945, 0.33541 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -130), 11.18794, 0.33526 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -125), 10.8261, 0.33521 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -120), 10.21996, 0.33533 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -115), 9.34656, 0.3357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -110), 8.15123, 0.33638 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -105), 6.56001, 0.33738 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -100), 4.51412, 0.33859 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -95), 2.0114, 0.33982 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -90), -0.86575, 0.34077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -85), -3.95115, 0.34117 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -80), -7.02478, 0.34083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -75), -9.85595, 0.33972 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -70), -12.24052, 0.33791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -65), -14.02459, 0.33556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -60), -15.11848, 0.33286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -55), -15.50437, 0.32999 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -50), -15.23359, 0.3271 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -45), -14.40866, 0.32433 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -40), -13.15341, 0.32177 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -35), -11.58423, 0.31948 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -30), -9.79737, 0.31751 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -25), -7.87721, 0.31586 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -20), -5.91515, 0.3145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -15), -4.01975, 0.31338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -10), -2.30365, 0.31244 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, -5), -0.84994, 0.31164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 0), 0.32106, 0.31095 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 5), 1.25864, 0.31035 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 10), 2.05099, 0.30987 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 15), 2.7705, 0.30953 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 20), 3.42667, 0.30936 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 25), 3.95594, 0.30933 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 30), 4.25647, 0.3094 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 35), 4.24988, 0.30948 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 40), 3.93518, 0.30943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 45), 3.40167, 0.30915 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 50), 2.79042, 0.30859 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 55), 2.22737, 0.30778 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 60), 1.77136, 0.30679 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 65), 1.40772, 0.30572 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 70), 1.08328, 0.30463 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 75), 0.75191, 0.30357 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 80), 0.3983, 0.3026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 85), 0.02775, 0.30178 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 90), -0.36364, 0.30117 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 95), -0.81057, 0.30081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 100), -1.37089, 0.30074 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 105), -2.08895, 0.30093 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 110), -2.95085, 0.30132 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 115), -3.8611, 0.30187 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 120), -4.66009, 0.30256 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 125), -5.17664, 0.30343 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 130), -5.28604, 0.30454 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 135), -4.94257, 0.30597 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 140), -4.17538, 0.30772 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 145), -3.05928, 0.3098 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 150), -1.68211, 0.31215 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 155), -0.12637, 0.31471 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 160), 1.5293, 0.31743 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 165), 3.19832, 0.32024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 170), 4.78037, 0.32309 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 175), 6.17344, 0.32588 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(25, 180), 7.30187, 0.32852 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -180), 6.3688, 0.33286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -175), 7.52728, 0.33537 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -170), 8.47176, 0.33745 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -165), 9.26162, 0.33901 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -160), 9.9664, 0.34002 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -155), 10.63129, 0.34057 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -150), 11.25552, 0.34078 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -145), 11.79399, 0.34081 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -140), 12.17845, 0.34082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -135), 12.34439, 0.3409 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -130), 12.24856, 0.34114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -125), 11.86882, 0.34158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -120), 11.18841, 0.34226 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -115), 10.17675, 0.34322 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -110), 8.78156, 0.34448 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -105), 6.94197, 0.34596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -100), 4.62105, 0.3475 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -95), 1.84462, 0.34881 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -90), -1.27296, 0.34954 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -85), -4.53268, 0.34943 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -80), -7.68648, 0.34836 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -75), -10.48824, 0.34642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -70), -12.7381, 0.34384 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -65), -14.30811, 0.34089 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -60), -15.15063, 0.33779 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -55), -15.29421, 0.33472 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -50), -14.82805, 0.33177 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -45), -13.87574, 0.32902 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -40), -12.56398, 0.32651 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -35), -10.99807, 0.32429 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -30), -9.25569, 0.32238 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -25), -7.40024, 0.3208 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -20), -5.50269, 0.31954 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -15), -3.65414, 0.31856 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -10), -1.9562, 0.3178 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, -5), -0.49163, 0.31723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 0), 0.70748, 0.31679 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 5), 1.67113, 0.31645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 10), 2.47061, 0.31622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 15), 3.17402, 0.3161 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 20), 3.80369, 0.31613 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 25), 4.32159, 0.3163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 30), 4.65225, 0.31656 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 35), 4.7309, 0.31679 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 40), 4.54905, 0.31686 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 45), 4.16963, 0.31665 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 50), 3.70026, 0.31609 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 55), 3.24093, 0.31522 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 60), 2.83991, 0.31414 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 65), 2.48453, 0.31293 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 70), 2.12641, 0.31171 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 75), 1.7183, 0.31053 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 80), 1.23649, 0.30945 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 85), 0.67753, 0.30853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 90), 0.03797, 0.30781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 95), -0.70176, 0.30735 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 100), -1.57228, 0.30714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 105), -2.58779, 0.30716 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 110), -3.71214, 0.30736 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 115), -4.84202, 0.30767 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 120), -5.8234, 0.30809 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 125), -6.49609, 0.30868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 130), -6.74246, 0.3095 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 135), -6.5153, 0.31064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 140), -5.83583, 0.31214 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 145), -4.77074, 0.31401 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 150), -3.40491, 0.3162 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 155), -1.82339, 0.31867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 160), -0.10783, 0.32136 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 165), 1.65774, 0.32421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 170), 3.38275, 0.32714 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 175), 4.97691, 0.33007 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(30, 180), 6.3688, 0.33286 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -180), 5.34823, 0.33706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -175), 6.81511, 0.33956 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -170), 8.10862, 0.34168 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -165), 9.25293, 0.34333 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -160), 10.28118, 0.34451 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -155), 11.21272, 0.34528 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -150), 12.03799, 0.34579 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -145), 12.71811, 0.34621 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -140), 13.19784, 0.34671 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -135), 13.42297, 0.34741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -130), 13.35184, 0.34838 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -125), 12.9551, 0.34967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -120), 12.20508, 0.3513 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -115), 11.06327, 0.35327 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -110), 9.47726, 0.35553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -105), 7.39532, 0.35791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -100), 4.79811, 0.36013 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -95), 1.73671, 0.36178 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -90), -1.6426, 0.36242 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -85), -5.1058, 0.36177 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -80), -8.37479, 0.35982 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -75), -11.1887, 0.35683 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -70), -13.35484, 0.35322 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -65), -14.77268, 0.34941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -60), -15.43305, 0.34571 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -55), -15.40167, 0.34227 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -50), -14.79395, 0.33918 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -45), -13.74495, 0.33642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -40), -12.38041, 0.33399 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -35), -10.79773, 0.33189 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -30), -9.06421, 0.33012 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -25), -7.2321, 0.32868 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -20), -5.3598, 0.32757 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -15), -3.52449, 0.32678 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -10), -1.81567, 0.32626 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, -5), -0.31137, 0.32596 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 0), 0.94941, 0.32582 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 5), 1.97987, 0.3258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 10), 2.83306, 0.32588 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 15), 3.56858, 0.32605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 20), 4.21692, 0.32633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 25), 4.76288, 0.3267 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 30), 5.1578, 0.32712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 35), 5.35342, 0.32747 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 40), 5.33692, 0.32761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 45), 5.14547, 0.32741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 50), 4.85011, 0.32681 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 55), 4.51895, 0.32584 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 60), 4.18391, 0.32461 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 65), 3.83142, 0.32326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 70), 3.41899, 0.32189 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 75), 2.90252, 0.32059 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 80), 2.25534, 0.31942 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 85), 1.46941, 0.31841 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 90), 0.54362, 0.31761 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 95), -0.52653, 0.31703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 100), -1.74474, 0.31666 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 105), -3.09394, 0.31645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 110), -4.51229, 0.31633 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 115), -5.88388, 0.31625 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 120), -7.05611, 0.31622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 125), -7.87859, 0.3163 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 130), -8.24374, 0.31661 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 135), -8.10916, 0.31725 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 140), -7.49552, 0.31827 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 145), -6.46729, 0.31969 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 150), -5.10907, 0.3215 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 155), -3.50806, 0.32364 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 160), -1.74694, 0.32606 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 165), 0.09501, 0.3287 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 170), 1.93933, 0.33149 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 175), 3.711, 0.33432 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(35, 180), 5.34823, 0.33706 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -180), 4.34145, 0.34176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -175), 6.0868, 0.34412 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -170), 7.70385, 0.34622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -165), 9.18723, 0.348 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -160), 10.5363, 0.34946 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -155), 11.74346, 0.35067 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -150), 12.78604, 0.35178 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -145), 13.62599, 0.35294 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -140), 14.21667, 0.35433 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -135), 14.51205, 0.35605 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -130), 14.47241, 0.35821 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -125), 14.06304, 0.36083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -120), 13.24702, 0.36394 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -115), 11.97807, 0.36747 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -110), 10.20183, 0.3713 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -105), 7.87263, 0.37514 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -100), 4.98609, 0.37853 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -95), 1.61803, 0.38086 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -90), -2.05126, 0.38155 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -85), -5.74981, 0.38028 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -80), -9.16878, 0.37718 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -75), -12.03549, 0.37277 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -70), -14.16842, 0.36773 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -65), -15.49521, 0.36266 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -60), -16.03998, 0.35798 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -55), -15.89569, 0.35387 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -50), -15.193, 0.35038 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -45), -14.07057, 0.34744 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -40), -12.65093, 0.34499 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -35), -11.02708, 0.34297 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -30), -9.26352, 0.34133 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -25), -7.41, 0.34007 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -20), -5.51953, 0.33917 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -15), -3.65917, 0.33862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -10), -1.90619, 0.3384 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, -5), -0.33035, 0.33844 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 0), 1.02772, 0.33867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 5), 2.16885, 0.33904 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 10), 3.1293, 0.3395 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 15), 3.95776, 0.34001 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 20), 4.68801, 0.34057 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 25), 5.32248, 0.34117 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 30), 5.83597, 0.34173 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 35), 6.19601, 0.34216 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 40), 6.38665, 0.34232 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 45), 6.42059, 0.3421 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 50), 6.33157, 0.34145 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 55), 6.15252, 0.34043 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 60), 5.89423, 0.33914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 65), 5.53833, 0.33774 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 70), 5.04721, 0.33634 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 75), 4.3824, 0.33504 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 80), 3.51914, 0.33389 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 85), 2.4502, 0.3329 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 90), 1.18101, 0.33207 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 95), -0.27501, 0.33139 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 100), -1.89224, 0.3308 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 105), -3.61909, 0.33023 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 110), -5.3638, 0.32958 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 115), -6.99364, 0.32884 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 120), -8.35517, 0.32803 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 125), -9.30908, 0.32729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 130), -9.76273, 0.32676 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 135), -9.68582, 0.32658 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 140), -9.10586, 0.32682 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 145), -8.09035, 0.32754 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 150), -6.72568, 0.32869 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 155), -5.1004, 0.33026 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 160), -3.2964, 0.33217 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 165), -1.38713, 0.33436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 170), 0.5608, 0.33676 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 175), 2.48726, 0.33927 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(40, 180), 4.34145, 0.34176 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -180), 3.44252, 0.34826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -175), 5.42332, 0.35041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -170), 7.31549, 0.35251 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -165), 9.09362, 0.35451 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -160), 10.73247, 0.35643 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -155), 12.20267, 0.35836 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -150), 13.4681, 0.36042 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -145), 14.48647, 0.36275 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -140), 15.21264, 0.36552 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -135), 15.60235, 0.36884 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -130), 15.6137, 0.37281 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -125), 15.20474, 0.37747 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -120), 14.32851, 0.38283 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -115), 12.92973, 0.38878 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -110), 10.95005, 0.39506 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -105), 8.34791, 0.40121 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -100), 5.13396, 0.40648 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -95), 1.41238, 0.40994 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -90), -2.59603, 0.41077 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -85), -6.57541, 0.40862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -80), -10.18502, 0.40383 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -75), -13.14435, 0.39729 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -70), -15.28817, 0.39008 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -65), -16.57357, 0.38306 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -60), -17.05383, 0.37677 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -55), -16.84164, 0.37144 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -50), -16.07534, 0.36709 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -45), -14.89239, 0.36361 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -40), -13.41128, 0.36086 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -35), -11.72319, 0.35872 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -30), -9.89459, 0.35712 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -25), -7.97822, 0.35599 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -20), -6.02645, 0.3553 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -15), -4.09946, 0.35503 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -10), -2.263, 0.35514 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, -5), -0.57656, 0.35556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 0), 0.92197, 0.35622 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 5), 2.22605, 0.35703 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 10), 3.35813, 0.35791 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 15), 4.35523, 0.3588 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 20), 5.24933, 0.35966 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 25), 6.05308, 0.36047 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 30), 6.75754, 0.36115 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 35), 7.34156, 0.36164 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 40), 7.7855, 0.36183 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 45), 8.08001, 0.36166 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 50), 8.22461, 0.36111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 55), 8.21784, 0.36024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 60), 8.04691, 0.35917 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 65), 7.68417, 0.35805 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 70), 7.09308, 0.35697 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 75), 6.23978, 0.35603 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 80), 5.1038, 0.35522 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 85), 3.6835, 0.35452 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 90), 1.99666, 0.35385 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 95), 0.08073, 0.35312 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 100), -2.00293, 0.3522 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 105), -4.16167, 0.35099 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 110), -6.26802, 0.34941 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 115), -8.16916, 0.34748 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 120), -9.71123, 0.34536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 125), -10.77019, 0.34324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 130), -11.27518, 0.34137 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 135), -11.21552, 0.33992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 140), -10.632, 0.339 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 145), -9.59915, 0.33866 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 150), -8.20622, 0.33887 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 155), -6.54209, 0.33959 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 160), -4.68649, 0.34075 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 165), -2.70722, 0.34228 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 170), -0.66133, 0.3441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 175), 1.40252, 0.34612 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(45, 180), 3.44252, 0.34826 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -180), 2.70361, 0.35867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -175), 4.87555, 0.36067 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -170), 6.988, 0.36288 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -165), 9.00534, 0.36529 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -160), 10.88876, 0.36795 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -155), 12.59553, 0.37095 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -150), 14.07918, 0.37441 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -145), 15.29067, 0.37848 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -140), 16.17995, 0.38331 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -135), 16.69691, 0.38905 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -130), 16.79047, 0.39581 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -125), 16.4058, 0.40367 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -120), 15.48094, 0.41258 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -115), 13.94677, 0.42239 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -110), 11.73635, 0.43264 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -105), 8.80956, 0.44253 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -100), 5.19438, 0.45082 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -95), 1.03253, 0.45604 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -90), -3.40029, 0.45695 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -85), -7.73159, 0.45321 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -80), -11.58434, 0.44556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -75), -14.67469, 0.43554 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -70), -16.86088, 0.42479 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -65), -18.13354, 0.41456 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -60), -18.57452, 0.40556 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -55), -18.313, 0.39807 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -50), -17.49195, 0.39206 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -45), -16.24626, 0.38737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -40), -14.69069, 0.3838 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -35), -12.91591, 0.38116 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -30), -10.99183, 0.37929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -25), -8.97563, 0.37809 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -20), -6.92069, 0.37749 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -15), -4.88198, 0.37742 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -10), -2.91492, 0.37781 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, -5), -1.06828, 0.37858 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 0), 0.6254, 0.37963 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 5), 2.15618, 0.38085 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 10), 3.53602, 0.38212 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 15), 4.79009, 0.38337 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 20), 5.94375, 0.38453 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 25), 7.01116, 0.38555 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 30), 7.99006, 0.3864 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 35), 8.86383, 0.38702 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 40), 9.60765, 0.38741 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 45), 10.19407, 0.38754 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 50), 10.59484, 0.38747 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 55), 10.77903, 0.38726 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 60), 10.71034, 0.38704 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 65), 10.34722, 0.38692 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 70), 9.6474, 0.38697 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 75), 8.57603, 0.38718 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 80), 7.11476, 0.38749 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 85), 5.26958, 0.38771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 90), 3.07671, 0.38763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 95), 0.60711, 0.38699 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 100), -2.03051, 0.38554 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 105), -4.69091, 0.38316 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 110), -7.20287, 0.37984 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 115), -9.39107, 0.3758 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 120), -11.10474, 0.37138 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 125), -12.24225, 0.36698 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 130), -12.76262, 0.36295 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 135), -12.68194, 0.35954 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 140), -12.05932, 0.35689 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 145), -10.97888, 0.35503 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 150), -9.53313, 0.35391 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 155), -7.81049, 0.35348 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 160), -5.88792, 0.35364 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 165), -3.82866, 0.35432 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 170), -1.68348, 0.35543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 175), 0.506, 0.3569 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(50, 180), 2.70361, 0.35867 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -180), 2.11712, 0.37642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -175), 4.44465, 0.37844 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -170), 6.73123, 0.38102 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -165), 8.93841, 0.38417 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -160), 11.02291, 0.38799 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -155), 12.93665, 0.39259 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -150), 14.62743, 0.39812 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -145), 16.03978, 0.40477 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -140), 17.11537, 0.41273 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -135), 17.7924, 0.42221 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -130), 18.00367, 0.43338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -125), 17.67365, 0.44637 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -120), 16.71659, 0.46114 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -115), 15.03956, 0.4774 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -110), 12.55698, 0.49438 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -105), 9.22376, 0.51063 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -100), 5.08794, 0.52396 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -95), 0.34531, 0.53186 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -90), -4.64642, 0.5324 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -85), -9.43328, 0.52536 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -80), -13.59248, 0.51238 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -75), -16.84311, 0.49616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -70), -19.07936, 0.47929 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -65), -20.33514, 0.46358 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -60), -20.72562, 0.44993 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -55), -20.39817, 0.43865 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -50), -19.50131, 0.42963 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -45), -18.16856, 0.42261 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -40), -16.51194, 0.4173 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -35), -14.62164, 0.4134 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -30), -12.56972, 0.41068 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -25), -10.41599, 0.40894 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -20), -8.2136, 0.40805 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -15), -6.01241, 0.40787 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -10), -3.85859, 0.4083 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, -5), -1.79105, 0.4092 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 0), 0.16353, 0.41045 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 5), 1.99396, 0.41191 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 10), 3.70391, 0.41345 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 15), 5.30668, 0.41498 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 20), 6.81698, 0.41641 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 25), 8.24262, 0.41773 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 30), 9.57901, 0.41891 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 35), 10.80751, 0.41999 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 40), 11.89709, 0.42102 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 45), 12.80716, 0.42207 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 50), 13.49001, 0.42326 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 55), 13.89228, 0.42471 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 60), 13.9561, 0.42654 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 65), 13.62148, 0.42883 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 70), 12.83108, 0.43158 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 75), 11.53821, 0.43464 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 80), 9.71785, 0.43771 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 85), 7.37996, 0.44033 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 90), 4.58297, 0.44188 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 95), 1.44343, 0.44175 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 100), -1.86415, 0.43948 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 105), -5.12308, 0.43492 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 110), -8.10589, 0.42838 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 115), -10.61262, 0.42048 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 120), -12.50168, 0.41201 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 125), -13.70344, 0.40372 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 130), -14.21557, 0.39616 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 135), -14.08722, 0.38967 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 140), -13.39951, 0.38436 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 145), -12.24788, 0.38024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 150), -10.72845, 0.37723 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 155), -8.92895, 0.37522 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 160), -6.92386, 0.37407 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 165), -4.77331, 0.3737 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 170), -2.52483, 0.37401 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 175), -0.21686, 0.37493 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(55, 180), 2.11712, 0.37642 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -180), 1.6162, 0.40749 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -175), 4.07742, 0.40983 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -170), 6.50848, 0.41318 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -165), 8.8721, 0.41763 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -160), 11.12583, 0.42332 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -155), 13.22158, 0.43041 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -150), 15.10547, 0.43914 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -145), 16.71751, 0.44978 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -140), 17.99065, 0.46265 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -135), 18.84883, 0.47809 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -130), 19.20386, 0.49645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -125), 18.95205, 0.51798 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -120), 17.97278, 0.54272 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -115), 16.13421, 0.57021 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -110), 13.3148, 0.59907 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -105), 9.45125, 0.6266 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -100), 4.61425, 0.64862 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -95), -0.91769, 0.66043 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -90), -6.65599, 0.65893 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -85), -12.02294, 0.64449 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -80), -16.53837, 0.62088 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -75), -19.94073, 0.5931 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -70), -22.18459, 0.56534 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -65), -23.36569, 0.54011 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -60), -23.64286, 0.5185 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -55), -23.18672, 0.50071 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -50), -22.15423, 0.48645 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -45), -20.67933, 0.47527 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -40), -18.87184, 0.46667 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -35), -16.82013, 0.46024 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -30), -14.59552, 0.45558 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -25), -12.25684, 0.45239 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -20), -9.85431, 0.45043 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -15), -7.43185, 0.44949 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -10), -5.02741, 0.44938 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, -5), -2.67186, 0.44992 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 0), -0.38719, 0.45095 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 5), 1.81431, 0.45233 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 10), 3.92907, 0.45391 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 15), 5.95884, 0.45562 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 20), 7.90578, 0.45739 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 25), 9.76695, 0.45923 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 30), 11.53004, 0.46119 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 35), 13.17082, 0.46338 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 40), 14.65253, 0.46593 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 45), 15.92661, 0.46904 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 50), 16.93384, 0.47291 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 55), 17.60559, 0.47775 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 60), 17.86519, 0.48374 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 65), 17.63032, 0.49097 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 70), 16.81786, 0.49937 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 75), 15.35327, 0.50861 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 80), 13.18679, 0.51796 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 85), 10.31728, 0.52629 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 90), 6.8203, 0.53209 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 95), 2.86912, 0.53386 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 100), -1.26935, 0.53056 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 105), -5.27517, 0.52213 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 110), -8.84225, 0.50957 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 115), -11.74019, 0.49455 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 120), -13.84363, 0.4788 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 125), -15.12604, 0.46372 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 130), -15.63318, 0.45016 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 135), -15.45317, 0.43855 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 140), -14.69253, 0.42896 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 145), -13.45981, 0.42131 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 150), -11.85579, 0.41543 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 155), -9.96828, 0.4111 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 160), -7.87026, 0.40814 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 165), -5.62029, 0.4064 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 170), -3.26488, 0.40576 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 175), -0.84176, 0.40614 + 1);
	EXPECT_NEAR(get_mag_declination_degrees(60, 180), 1.6162, 0.40749 + 1);
}

TEST(GeoLookupTest, inclination)
{
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -180), -71.59913, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -175), -70.61381, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -170), -69.64349, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -165), -68.68901, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -160), -67.74981, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -155), -66.82361, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -150), -65.90553, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -145), -64.98671, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -140), -64.05343, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -135), -63.08734, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -130), -62.06697, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -125), -60.97043, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -120), -59.77898, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -115), -58.48117, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -110), -57.07728, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -105), -55.58386, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -100), -54.03765, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -95), -52.49782, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -90), -51.04525, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -85), -49.77746, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -80), -48.79843, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -75), -48.20357, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -70), -48.06206, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -65), -48.40084, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -60), -49.19575, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -55), -50.37383, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -50), -51.82644, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -45), -53.42866, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -40), -55.0584, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -35), -56.61009, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -30), -58.00097, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -25), -59.17107, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -20), -60.07992, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -15), -60.70347, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -10), -61.0339, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, -5), -61.08267, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 0), -60.88517, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 5), -60.50387, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 10), -60.02692, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 15), -59.56011, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 20), -59.21266, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 25), -59.08027, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 30), -59.23073, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 35), -59.69679, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 40), -60.47695, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 45), -61.54218, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 50), -62.84525, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 55), -64.33006, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 60), -65.93949, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 65), -67.62106, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 70), -69.33011, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 75), -71.03017, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 80), -72.69095, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 85), -74.28458, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 90), -75.7815, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 95), -77.14734, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 100), -78.3423, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 105), -79.32384, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 110), -80.05327, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 115), -80.50495, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 120), -80.67443, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 125), -80.58033, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 130), -80.25801, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 135), -79.74923, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 140), -79.09369, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 145), -78.32514, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 150), -77.47102, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 155), -76.55379, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 160), -75.59243, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 165), -74.60341, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 170), -73.60095, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 175), -72.59667, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-50, 180), -71.59913, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -180), -68.20048, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -175), -67.21779, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -170), -66.24281, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -165), -65.27659, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -160), -64.31957, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -155), -63.37224, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -150), -62.43431, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -145), -61.50272, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -140), -60.56957, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -135), -59.62095, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -130), -58.63722, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -125), -57.59444, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -120), -56.46707, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -115), -55.232, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -110), -53.87468, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -105), -52.39719, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -100), -50.82715, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -95), -49.22495, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -90), -47.68634, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -85), -46.33759, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -80), -45.32161, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -75), -44.7749, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -70), -44.79878, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -65), -45.43279, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -60), -46.6406, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -55), -48.31625, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -50), -50.30881, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -45), -52.45521, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -40), -54.60839, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -35), -56.65298, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -30), -58.50745, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -25), -60.11617, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -20), -61.4378, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -15), -62.43656, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -10), -63.0813, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, -5), -63.35332, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 0), -63.25931, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 5), -62.84375, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 10), -62.19486, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 15), -61.44024, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 20), -60.73015, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 25), -60.21117, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 30), -59.99883, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 35), -60.1596, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 40), -60.70725, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 45), -61.611, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 50), -62.80947, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 55), -64.22545, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 60), -65.77857, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 65), -67.39466, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 70), -69.01106, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 75), -70.57756, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 80), -72.05341, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 85), -73.40231, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 90), -74.58834, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 95), -75.57591, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 100), -76.33505, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 105), -76.84984, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 110), -77.12457, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 115), -77.1825, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 120), -77.05719, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 125), -76.78184, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 130), -76.38237, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 135), -75.87607, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 140), -75.27405, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 145), -74.58459, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 150), -73.81584, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 155), -72.97736, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 160), -72.08095, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 165), -71.14055, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 170), -70.17127, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 175), -69.18743, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-45, 180), -68.20048, 0.21 + 2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -180), -64.39902, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -175), -63.4024, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -170), -62.40818, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -165), -61.41562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -160), -60.42359, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -155), -59.43323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -150), -58.44794, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -145), -57.47109, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -140), -56.50289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -135), -55.53784, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -130), -54.56323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -125), -53.55827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -120), -52.49425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -115), -51.33701, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -110), -50.05389, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -105), -48.62624, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -100), -47.0654, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -95), -45.42756, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -90), -43.82153, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -85), -42.40464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -80), -41.36404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -75), -40.88309, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -70), -41.09809, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -65), -42.05786, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -60), -43.70467, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -55), -45.88837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -50), -48.40853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -45), -51.06417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -40), -53.6908, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -35), -56.17581, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -30), -58.45353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -25), -60.48693, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -20), -62.24538, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -15), -63.68819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -10), -64.76131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, -5), -65.40895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 0), -65.59518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 5), -65.32636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 10), -64.66609, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 15), -63.73851, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 20), -62.7167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 25), -61.79417, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 30), -61.14532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 35), -60.89049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 40), -61.07934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 45), -61.6947, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 50), -62.66937, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 55), -63.90737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 60), -65.30383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 65), -66.76049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 70), -68.19496, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 75), -69.54296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 80), -70.75471, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 85), -71.78901, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 90), -72.61036, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 95), -73.19286, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 100), -73.52928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 105), -73.63803, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 110), -73.56038, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 115), -73.34742, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 120), -73.04383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 125), -72.67707, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 130), -72.25582, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 135), -71.77567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 140), -71.22719, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 145), -70.60222, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 150), -69.89694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 155), -69.11273, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 160), -68.25636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 165), -67.34005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 170), -66.38024, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 175), -65.39481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-40, 180), -64.39902, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -180), -60.05501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -175), -59.02587, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -170), -57.9983, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -165), -56.96819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -160), -55.9302, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -155), -54.88312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -150), -53.83164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -145), -52.78431, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -140), -51.74977, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -135), -50.73297, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -130), -49.73179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -125), -48.7331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -120), -47.70891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -115), -46.61557, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -110), -45.40087, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -105), -44.0217, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -100), -42.46918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -95), -40.79335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -90), -39.11729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -85), -37.63339, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -80), -36.57799, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -75), -36.18479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -70), -36.62418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -65), -37.94789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -60), -40.0665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -55), -42.77628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -50), -45.82279, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -45), -48.96816, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -40), -52.03484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -35), -54.91849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -30), -57.57504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -25), -59.99229, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -20), -62.15767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -15), -64.03441, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -10), -65.55512, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, -5), -66.63498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 0), -67.1991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 5), -67.2125, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 10), -66.70151, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 15), -65.76255, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 20), -64.55923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 25), -63.30381, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 30), -62.21867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 35), -61.48757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 40), -61.21789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 45), -61.42857, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 50), -62.06272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 55), -63.01414, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 60), -64.15708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 65), -65.3711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 70), -66.55635, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 75), -67.63751, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 80), -68.55853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 85), -69.27514, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 90), -69.7531, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 95), -69.97589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 100), -69.95634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 105), -69.74062, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 110), -69.39733, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 115), -68.9955, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 120), -68.5833, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 125), -68.17768, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 130), -67.76773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 135), -67.3274, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 140), -66.82935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 145), -66.25363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 150), -65.58961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 155), -64.83439, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 160), -63.99175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 165), -63.07267, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 170), -62.09542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 175), -61.08258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-35, 180), -60.05501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -180), -55.01258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -175), -53.92905, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -170), -52.85322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -165), -51.777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -160), -50.68844, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -155), -49.58074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -150), -48.45657, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -145), -47.32696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -140), -46.20724, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -135), -45.11262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -130), -44.05297, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -125), -43.02545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -120), -42.00532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -115), -40.94083, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -110), -39.7602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -105), -38.39538, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -100), -36.81821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -95), -35.07596, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -90), -33.31138, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -85), -31.75734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -80), -30.70257, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -75), -30.42994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -70), -31.13804, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -65), -32.87275, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -60), -35.50533, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -55), -38.775, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -50), -42.37363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -45), -46.0273, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -40), -49.54385, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -35), -52.82236, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -30), -55.8341, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -25), -58.58693, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -20), -61.08613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -15), -63.30538, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -10), -65.17755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, -5), -66.60723, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 0), -67.49951, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 5), -67.79295, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 10), -67.48362, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 15), -66.63504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 20), -65.37951, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 25), -63.91304, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 30), -62.47302, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 35), -61.29178, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 40), -60.54074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 45), -60.29285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 50), -60.51941, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 55), -61.11692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 60), -61.94725, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 65), -62.87459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 70), -63.78789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 75), -64.60537, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 80), -65.26598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 85), -65.71923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 90), -65.92538, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 95), -65.86872, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 100), -65.57391, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 105), -65.109, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 110), -64.56719, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 115), -64.03517, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 120), -63.5645, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 125), -63.1599, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 130), -62.78789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 135), -62.39842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 140), -61.94659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 145), -61.40397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 150), -60.75777, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 155), -60.00467, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 160), -59.14727, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 165), -58.19566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 170), -57.17015, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 175), -56.09944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-30, 180), -55.01258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -180), -49.11591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -175), -47.95116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -170), -46.80969, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -165), -45.67972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -160), -44.54088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -155), -43.37761, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -150), -42.18691, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -145), -40.97873, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -140), -39.77214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -135), -38.59045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -130), -37.45463, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -125), -36.37206, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -120), -35.32166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -115), -34.24404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -110), -33.04893, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -105), -31.64667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -100), -29.99622, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -95), -28.15075, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -90), -26.28094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -85), -24.66453, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -80), -23.64028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -75), -23.53095, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -70), -24.55106, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -65), -26.73223, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -60), -29.90679, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -55), -33.76438, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -50), -37.9506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -45), -42.15612, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -40), -46.16596, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -35), -49.8678, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -30), -53.23145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -25), -56.27137, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -20), -59.00513, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -15), -61.42137, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -10), -63.46766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, -5), -65.06023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 0), -66.10965, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 5), -66.55105, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 10), -66.36655, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 15), -65.59512, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 20), -64.33641, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 25), -62.75473, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 30), -61.07394, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 35), -59.54514, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 40), -58.38668, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 45), -57.724, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 50), -57.56432, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 55), -57.81685, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 60), -58.34098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 65), -58.99498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 70), -59.66478, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 75), -60.2672, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 80), -60.73614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 85), -61.00977, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 90), -61.0342, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 95), -60.78524, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 100), -60.29238, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 105), -59.64296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 110), -58.9567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 115), -58.34175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 120), -57.85527, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 125), -57.48838, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 130), -57.18092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 135), -56.85499, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 140), -56.44709, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 145), -55.92265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 150), -55.27095, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 155), -54.49193, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 160), -53.58875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 165), -52.57085, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 170), -51.46094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 175), -50.29571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-25, 180), -49.11591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -180), -42.23017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -175), -40.95238, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -170), -39.72487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -165), -38.5334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -160), -37.34787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -155), -36.14098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -150), -34.90044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -145), -33.63154, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -140), -32.35374, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -135), -31.09556, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -130), -29.88631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -125), -28.74104, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -120), -27.64024, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -115), -26.51623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -110), -25.26298, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -105), -23.77653, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -100), -22.01418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -95), -20.04687, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -90), -18.08055, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -85), -16.43613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -80), -15.48982, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -75), -15.58471, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -70), -16.93429, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -65), -19.55274, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -60), -23.24703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -55), -27.67849, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -50), -32.46132, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -45), -37.25113, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -40), -41.79655, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -35), -45.95244, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -30), -49.66486, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -25), -52.93825, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -20), -55.79566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -15), -58.24551, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -10), -60.2655, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, -5), -61.80639, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 0), -62.8096, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 5), -63.22803, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 10), -63.04232, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 15), -62.27211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 20), -60.98761, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 25), -59.32339, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 30), -57.48385, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 35), -55.7213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 40), -54.27788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 45), -53.31346, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 50), -52.86272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 55), -52.84735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 60), -53.12934, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 65), -53.56889, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 70), -54.05697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 75), -54.51449, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 80), -54.87161, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 85), -55.0521, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 90), -54.98188, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 95), -54.62138, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 100), -53.99991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 105), -53.22294, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 110), -52.43968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 115), -51.78439, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 120), -51.32258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 125), -51.03044, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 130), -50.81667, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 135), -50.571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 140), -50.20939, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 145), -49.69248, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 150), -49.01486, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 155), -48.18276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 160), -47.20147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 165), -46.08018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 170), -44.84481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 175), -43.54254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-20, 180), -42.23017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -180), -34.2778, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -175), -32.85421, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -170), -31.52014, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -165), -30.26077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -160), -29.03551, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -155), -27.80256, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -150), -26.53686, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -145), -25.23579, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -140), -23.91659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -135), -22.61035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -130), -21.35145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -125), -20.15838, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -120), -19.0093, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -115), -17.82747, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -110), -16.49599, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -105), -14.90753, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -100), -13.03159, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -95), -10.96735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -90), -8.95691, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -85), -7.35161, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -80), -6.54084, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -75), -6.86105, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -70), -8.50896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -65), -11.48718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -60), -15.60335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -55), -20.52214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -50), -25.84674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -45), -31.19898, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -40), -36.2766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -35), -40.88014, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -30), -44.91165, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -25), -48.35155, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -20), -51.22377, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -15), -53.56221, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -10), -55.38932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, -5), -56.70986, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 0), -57.51449, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 5), -57.78608, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 10), -57.50787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 15), -56.67823, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 20), -55.33563, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 25), -53.58718, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 30), -51.62349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 35), -49.69918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 40), -48.07142, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 45), -46.91865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 50), -46.28776, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 55), -46.1035, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 60), -46.228, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 65), -46.5264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 70), -46.90039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 75), -47.2805, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 80), -47.59637, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 85), -47.75753, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 90), -47.66708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 95), -47.26595, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 100), -46.5793, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 105), -45.72913, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 110), -44.89567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 115), -44.24268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 120), -43.84626, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 125), -43.6668, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 130), -43.57847, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 135), -43.43483, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 140), -43.12917, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 145), -42.61745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 150), -41.9012, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 155), -40.99479, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 160), -39.90684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 165), -38.647, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 170), -37.24561, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 175), -35.76334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-15, 180), -34.2778, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -180), -25.29077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -175), -23.69799, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -170), -22.24437, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -165), -20.9171, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -160), -19.66501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -155), -18.42956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -150), -17.16969, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -145), -15.87213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -140), -14.55018, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -135), -13.23603, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -130), -11.96634, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -125), -10.75886, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -120), -9.58585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -115), -8.3622, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -110), -6.96759, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -105), -5.30402, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -100), -3.36506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -95), -1.28179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -90), 0.67779, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -85), 2.1556, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -80), 2.77961, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -75), 2.24547, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -70), 0.38195, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -65), -2.81478, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -60), -7.18175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -55), -12.41912, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -50), -18.14173, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -45), -23.94422, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -40), -29.46637, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -35), -34.44166, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -30), -38.71639, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -25), -42.23948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -20), -45.03342, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -15), -47.16065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -10), -48.69593, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, -5), -49.70692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 0), -50.24008, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 5), -50.31087, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 10), -49.90425, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 15), -48.99438, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 20), -47.58454, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 25), -45.75347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 30), -43.68164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 35), -41.63191, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 40), -39.87853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 45), -38.61338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 50), -37.88545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 55), -37.61257, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 60), -37.65091, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 65), -37.86918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 70), -38.18218, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 75), -38.53432, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 80), -38.85903, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 85), -39.05443, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 90), -39.00164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 95), -38.62066, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 100), -37.92946, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 105), -37.06325, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 110), -36.23132, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 115), -35.62682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 120), -35.33717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 125), -35.30739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 130), -35.37672, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 135), -35.36153, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 140), -35.13119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 145), -34.63579, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 150), -33.88319, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 155), -32.89605, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 160), -31.68688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 165), -30.26665, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 170), -28.6717, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 175), -26.97889, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-10, 180), -25.29077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -180), -15.46562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -175), -13.7046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -170), -12.13688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -165), -10.75455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -160), -9.49725, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -155), -8.28881, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -150), -7.06981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -145), -5.81413, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -140), -4.52999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -135), -3.24999, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -130), -2.01158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -125), -0.82935, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -120), 0.3312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -115), 1.55959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -110), 2.97022, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -105), 4.64098, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -100), 6.54913, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -95), 8.53854, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -90), 10.33498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -85), 11.60132, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -80), 12.009, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -75), 11.30122, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -70), 9.33307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -65), 6.08828, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -60), 1.68254, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -55), -3.64049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -50), -9.52781, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -45), -15.56335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -40), -21.33911, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -35), -26.52594, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -30), -30.9155, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -25), -34.42388, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -20), -37.06842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -15), -38.93496, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -10), -40.14535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, -5), -40.82581, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 0), -41.07542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 5), -40.94041, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 10), -40.40711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 15), -39.42567, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 20), -37.96404, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 25), -36.0719, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 30), -33.91944, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 35), -31.77863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 40), -29.94138, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 45), -28.6116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 50), -27.83712, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 55), -27.52489, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 60), -27.52141, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 65), -27.6965, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 70), -27.97773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 75), -28.32566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 80), -28.68208, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 85), -28.93932, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 90), -28.96134, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 95), -28.64938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 100), -28.01243, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 105), -27.19324, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 110), -26.42272, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 115), -25.91733, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 120), -25.77392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 125), -25.92481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 130), -26.17939, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 135), -26.32101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 140), -26.19592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 145), -25.74616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 150), -24.98268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 155), -23.93424, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 160), -22.61695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 165), -21.04409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 170), -19.25921, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 175), -17.35668, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(-5, 180), -15.46562, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -180), -5.18589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -175), -3.29414, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -170), -1.64362, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -165), -0.23438, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -160), 0.99967, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -155), 2.15046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -150), 3.2959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -145), 4.4762, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -140), 5.68925, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -135), 6.90278, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -130), 8.07913, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -125), 9.20647, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -120), 10.32281, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -115), 11.51491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -110), 12.88215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -105), 14.47674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -100), 16.25032, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -95), 18.03619, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -90), 19.57579, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -85), 20.57445, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -80), 20.7611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -75), 19.93027, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -70), 17.96084, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -65), 14.82193, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -60), 10.58242, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -55), 5.42764, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -50), -0.33435, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -45), -6.30181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -40), -12.04916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -35), -17.2107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -30), -21.53909, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -25), -24.92094, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -20), -27.36082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -15), -28.95289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -10), -29.84872, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, -5), -30.21853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 0), -30.20544, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 5), -29.8842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 10), -29.24488, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 15), -28.21828, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 20), -26.74126, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 25), -24.83599, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 30), -22.65976, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 35), -20.48729, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 40), -18.62051, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 45), -17.27033, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 50), -16.48305, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 55), -16.15751, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 60), -16.13265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 65), -16.27867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 70), -16.53374, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 75), -16.87437, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 80), -17.25495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 85), -17.57062, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 90), -17.67808, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 95), -17.46682, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 100), -16.9369, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 105), -16.23036, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 110), -15.58569, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 115), -15.22947, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 120), -15.26282, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 125), -15.61091, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 130), -16.06536, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 135), -16.38745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 140), -16.40463, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 145), -16.04827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 150), -15.32658, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 155), -14.26987, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 160), -12.89639, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 165), -11.22231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 170), -9.29864, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 175), -7.23554, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(0, 180), -5.18589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -180), 5.03334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -175), 6.9827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -170), 8.66208, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -165), 10.06072, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -160), 11.24459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -155), 12.31573, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -150), 13.36737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -145), 14.45311, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -140), 15.57807, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -135), 16.71171, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -130), 17.81644, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -125), 18.88064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -120), 19.93969, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -115), 21.0692, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -110), 22.34702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -105), 23.79981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -100), 25.36263, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -95), 26.87365, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -90), 28.10575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -85), 28.81683, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -80), 28.79498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -75), 27.8827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -70), 25.98163, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -65), 23.05407, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -60), 19.13795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -55), 14.37383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -50), 9.02265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -45), 3.44711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -40), -1.9505, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -35), -6.80941, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -30), -10.87153, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -25), -14.00337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -20), -16.18866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -15), -17.51025, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -10), -18.12563, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, -5), -18.22819, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 0), -17.99216, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 5), -17.51738, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 10), -16.80241, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 15), -15.768, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 20), -14.32917, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 25), -12.48465, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 30), -10.37415, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 35), -8.26196, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 40), -6.44424, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 45), -5.12865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 50), -4.36002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 55), -4.03668, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 60), -3.99757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 65), -4.1152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 70), -4.33503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 75), -4.64628, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 80), -5.01852, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 85), -5.35998, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 90), -5.53462, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 95), -5.43188, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 100), -5.0454, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 105), -4.50677, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 110), -4.04339, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 115), -3.87361, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 120), -4.09529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 125), -4.63406, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 130), -5.28135, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 135), -5.79335, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 140), -5.98699, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 145), -5.78124, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 150), -5.1745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 155), -4.19211, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 160), -2.85176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 165), -1.17208, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 170), 0.79024, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 175), 2.9148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(5, 180), 5.03334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -180), 14.68164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -175), 16.59656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -170), 18.2416, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -165), 19.59336, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -160), 20.71055, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -155), 21.69669, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -150), 22.65355, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -145), 23.64517, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -140), 24.68447, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -135), 25.74473, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -130), 26.7891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -125), 27.80331, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -120), 28.81373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -115), 29.87804, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -110), 31.04963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -105), 32.33329, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -100), 33.65683, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -95), 34.87385, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -90), 35.79516, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -85), 36.23073, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -80), 36.02194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -75), 35.05367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -70), 33.25229, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -65), 30.58668, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -60), 27.08514, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -55), 22.86289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -50), 18.13894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -45), 13.22064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -40), 8.45226, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -35), 4.14894, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -30), 0.54714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -25), -2.21535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -20), -4.1001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -15), -5.16384, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -10), -5.54745, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, -5), -5.44397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 0), -5.04099, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 5), -4.45637, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 10), -3.70167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 15), -2.70025, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 20), -1.35884, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 25), 0.34079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 30), 2.28231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 35), 4.22837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 40), 5.90782, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 45), 7.12835, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 50), 7.84642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 55), 8.15499, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 60), 8.20491, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 65), 8.11739, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 70), 7.94323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 75), 7.68631, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 80), 7.36249, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 85), 7.04212, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 90), 6.83924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 95), 6.85079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 100), 7.08496, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 105), 7.42863, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 110), 7.68295, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 115), 7.65535, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 120), 7.2588, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 125), 6.56012, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 130), 5.75046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 135), 5.06017, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 140), 4.67179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 145), 4.678, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 150), 5.09609, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 155), 5.91219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 160), 7.11286, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 165), 8.67882, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 170), 10.5517, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 175), 12.60976, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(10, 180), 14.68164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -180), 23.39779, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -175), 25.189, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -170), 26.74088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -165), 28.0175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -160), 29.06406, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -155), 29.97602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -150), 30.85476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -145), 31.76962, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -140), 32.74064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -135), 33.74697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -130), 34.7539, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -125), 35.74294, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -120), 36.72749, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -115), 37.74381, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -110), 38.821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -105), 39.94656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -100), 41.04738, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -95), 41.99656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -90), 42.64142, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -85), 42.83708, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -80), 42.46928, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -75), 41.46004, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -70), 39.76383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -65), 37.36885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -60), 34.31155, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -55), 30.69731, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -50), 26.70977, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -45), 22.59484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -40), 18.62081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -35), 15.03288, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -30), 12.02209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -25), 9.71319, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -20), 8.15916, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -15), 7.33303, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -10), 7.12483, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, -5), 7.36268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 0), 7.86566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 5), 8.50926, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 10), 9.26744, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 15), 10.20226, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 20), 11.40057, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 25), 12.8896, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 30), 14.58023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 35), 16.27576, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 40), 17.7457, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 45), 18.8227, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 50), 19.46476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 55), 19.74881, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 60), 19.80651, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 65), 19.74821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 70), 19.62315, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 75), 19.43437, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 80), 19.18702, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 85), 18.92714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 90), 18.73766, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 95), 18.69155, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 100), 18.79353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 105), 18.95204, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 110), 19.00636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 115), 18.80016, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 120), 18.26224, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 125), 17.44821, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 130), 16.52046, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 135), 15.68193, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 140), 15.10403, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 145), 14.8872, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 150), 15.06633, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 155), 15.64312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 160), 16.61157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 165), 17.95444, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 170), 19.61676, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 175), 21.48503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(15, 180), 23.39779, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -180), 31.03578, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -175), 32.63152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -170), 34.04266, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -165), 35.22384, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -160), 36.20352, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -155), 37.06112, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -150), 37.88853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -145), 38.75363, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -140), 39.68118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -135), 40.65712, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -130), 41.65053, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -125), 42.63918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -120), 43.62291, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -115), 44.61679, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -110), 45.62806, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -105), 46.63093, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -100), 47.55428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -95), 48.28972, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -90), 48.7152, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -85), 48.72164, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -80), 48.23002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -75), 47.19484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -70), 45.60069, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -65), 43.46252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -60), 40.8342, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -55), 37.81895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -50), 34.56967, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -45), 31.2727, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -40), 28.11982, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -35), 25.28235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -30), 22.89789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -25), 21.06659, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -20), 19.84452, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -15), 19.22822, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -10), 19.14178, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, -5), 19.44711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 0), 19.98639, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 5), 20.64082, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 10), 21.37246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 15), 22.22176, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 20), 23.25813, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 25), 24.50976, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 30), 25.91412, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 35), 27.32081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 40), 28.54769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 45), 29.45779, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 50), 30.01184, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 55), 30.26779, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 60), 30.33301, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 65), 30.30301, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 70), 30.22534, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 75), 30.10588, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 80), 29.94395, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 85), 29.76409, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 90), 29.61716, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 95), 29.54856, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 100), 29.5556, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 105), 29.56598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 110), 29.45699, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 115), 29.10981, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 120), 28.47064, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 125), 27.58412, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 130), 26.58145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 135), 25.63249, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 140), 24.89052, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 145), 24.45796, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 150), 24.38454, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 155), 24.68735, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 160), 25.36909, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 165), 26.41674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 170), 27.78283, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 175), 29.36953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(20, 180), 31.03578, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -180), 37.63786, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -175), 38.98998, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -170), 40.22599, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -165), 41.29695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -160), 42.21519, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -155), 43.03948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -150), 43.84457, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -145), 44.68975, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -140), 45.60024, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -135), 46.56775, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -130), 47.56623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -125), 48.57156, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -120), 49.5724, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -115), 50.56591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -110), 51.54153, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -105), 52.46353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -100), 53.26347, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -95), 53.84806, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -90), 54.11862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -85), 53.99284, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -80), 53.41899, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -75), 52.37938, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -70), 50.8874, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -65), 48.98515, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -60), 46.74448, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -55), 44.26726, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -50), 41.67895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -45), 39.11403, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -40), 36.6991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -35), 34.54246, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -30), 32.73343, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -25), 31.34456, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -20), 30.42564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -15), 29.98642, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -10), 29.97979, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, -5), 30.30384, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 0), 30.8322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 5), 31.4609, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 10), 32.14532, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 15), 32.90373, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 20), 33.78319, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 25), 34.80683, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 30), 35.93397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 35), 37.05805, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 40), 38.04508, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 45), 38.79007, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 50), 39.25865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 55), 39.49102, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 60), 39.56923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 65), 39.57136, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 70), 39.54109, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 75), 39.48748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 80), 39.40765, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 85), 39.31016, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 90), 39.21897, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 95), 39.15428, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 100), 39.1045, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 105), 39.01167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 110), 38.78457, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 115), 38.33694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 120), 37.63129, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 125), 36.70414, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 130), 35.65953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 135), 34.63601, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 140), 33.76622, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 145), 33.14897, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 150), 32.84291, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 155), 32.8767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 160), 33.26053, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 165), 33.98626, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 170), 35.016, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 175), 36.27132, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(25, 180), 37.63786, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -180), 43.3656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -175), 44.45191, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -170), 45.49358, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -165), 46.44487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -160), 47.30577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -155), 48.11356, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -150), 48.92128, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -145), 49.77356, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -140), 50.69092, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -135), 51.66789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -130), 52.68296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -125), 53.71207, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -120), 54.73657, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -115), 55.74081, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -110), 56.70147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -105), 57.57611, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -100), 58.29895, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -95), 58.78811, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -90), 58.96194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -85), 58.75763, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -80), 58.14437, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -75), 57.12711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -70), 55.74318, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -65), 54.0564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -60), 52.15106, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -55), 50.12493, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -50), 48.07945, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -45), 46.1085, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -40), 44.29041, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -35), 42.68758, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -30), 41.35267, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -25), 40.33361, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -20), 39.66892, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -15), 39.37229, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -10), 39.41637, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, -5), 39.73041, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 0), 40.21967, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 5), 40.79919, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 10), 41.42316, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 15), 42.0918, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 20), 42.83072, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 25), 43.65503, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 30), 44.53969, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 35), 45.4148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 40), 46.1891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 45), 46.78816, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 50), 47.18488, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 55), 47.40527, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 60), 47.50802, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 65), 47.55263, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 70), 47.57584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 75), 47.58771, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 80), 47.58446, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 85), 47.56401, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 90), 47.53061, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 95), 47.48476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 100), 47.40678, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 105), 47.24829, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 110), 46.94173, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 115), 46.4265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 120), 45.67929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 125), 44.73213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 130), 43.66856, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 135), 42.60119, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 140), 41.64276, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 145), 40.88421, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 150), 40.38661, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 155), 40.18468, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 160), 40.29332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 165), 40.70876, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 170), 41.40285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 175), 42.31705, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(30, 180), 43.3656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -180), 48.43803, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -175), 49.26348, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -170), 50.10963, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -165), 50.93924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -160), 51.74495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -155), 52.54518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -150), 53.37058, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -145), 54.24789, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -140), 55.18853, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -135), 56.18614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -130), 57.22196, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -125), 58.27296, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -120), 59.3168, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -115), 60.33024, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -110), 61.28231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -105), 62.12709, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -100), 62.80177, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -95), 63.2333, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -90), 63.35264, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -85), 63.1116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -80), 62.49528, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -75), 61.52573, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -70), 60.25716, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -65), 58.76649, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -60), 57.14265, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -55), 55.47585, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -50), 53.84754, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -45), 52.323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -40), 50.94929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -35), 49.75991, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -30), 48.78323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -25), 48.04803, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -20), 47.5803, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -15), 47.3914, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -10), 47.46504, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, -5), 47.75345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 0), 48.18861, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 5), 48.70458, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 10), 49.25868, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 15), 49.8392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 20), 50.45487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 25), 51.11273, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 30), 51.79808, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 35), 52.46904, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 40), 53.06924, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 45), 53.55118, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 50), 53.8964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 55), 54.12088, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 60), 54.26346, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 65), 54.36543, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 70), 54.45381, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 75), 54.53636, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 80), 54.60769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 85), 54.65856, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 90), 54.67994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 95), 54.65866, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 100), 54.56908, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 105), 54.36953, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 110), 54.00983, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 115), 53.44926, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 120), 52.67687, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 125), 51.72338, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 130), 50.65825, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 135), 49.57392, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 140), 48.56518, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 145), 47.71243, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 150), 47.0737, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 155), 46.68464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 160), 46.56206, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 165), 46.70558, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 170), 47.09602, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 175), 47.69312, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(35, 180), 48.43803, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -180), 53.08748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -175), 53.68249, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -170), 54.35052, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -165), 55.06498, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -160), 55.81566, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -155), 56.60684, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -150), 57.45, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -145), 58.35459, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -140), 59.32121, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -135), 60.33968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -130), 61.39172, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -125), 62.45505, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -120), 63.50581, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -115), 64.5171, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -110), 65.45438, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -105), 66.27104, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -100), 66.9079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -95), 67.29954, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -90), 67.38727, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -85), 67.13463, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -80), 66.53902, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -75), 65.63419, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -70), 64.48367, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -65), 63.1688, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -60), 61.77591, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -55), 60.38515, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -50), 59.06214, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -45), 57.85381, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -40), 56.78956, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -35), 55.8873, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -30), 55.16124, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -25), 54.6267, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -20), 54.29832, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -15), 54.18213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -10), 54.26648, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, -5), 54.51865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 0), 54.8908, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 5), 55.33353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 10), 55.81001, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 15), 56.30274, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 20), 56.80951, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 25), 57.33131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 30), 57.86008, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 35), 58.37397, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 40), 58.84289, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 45), 59.24101, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 50), 59.55834, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 55), 59.80448, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 60), 60.00252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 65), 60.17725, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 70), 60.34439, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 75), 60.50625, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 80), 60.65405, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 85), 60.77295, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 90), 60.8451, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 95), 60.8486, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 100), 60.75457, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 105), 60.52707, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 110), 60.12964, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 115), 59.53768, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 120), 58.75144, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 125), 57.80274, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 130), 56.75178, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 135), 55.67545, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 140), 54.65261, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 145), 53.75175, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 150), 53.02422, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 155), 52.50307, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 160), 52.20496, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 165), 52.1322, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 170), 52.27345, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 175), 52.60391, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(40, 180), 53.08748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -180), 57.52169, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -175), 57.93469, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -170), 58.45581, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -165), 59.06814, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -160), 59.76146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -155), 60.5314, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -150), 61.37603, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -145), 62.29159, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -140), 63.26926, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -135), 64.29434, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -130), 65.34742, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -125), 66.40614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -120), 67.44587, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -115), 68.43804, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -110), 69.34696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -105), 70.127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -100), 70.72313, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -95), 71.07714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -90), 71.13975, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -85), 70.88489, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -80), 70.31969, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -75), 69.48516, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -70), 68.44769, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -65), 67.28616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -60), 66.07929, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -55), 64.89604, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -50), 63.7897, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -45), 62.79613, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -40), 61.93601, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -35), 61.22021, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -30), 60.65574, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -25), 60.24936, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -20), 60.00689, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -15), 59.92865, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -10), 60.00414, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, -5), 60.20973, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 0), 60.51174, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 5), 60.87413, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 10), 61.26715, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 15), 61.67252, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 20), 62.0828, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 25), 62.49575, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 30), 62.90773, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 35), 63.31011, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 40), 63.69077, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 45), 64.03943, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 50), 64.35291, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 55), 64.63695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 60), 64.90304, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 65), 65.16218, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 70), 65.41881, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 75), 65.66783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 80), 65.89523, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 85), 66.08079, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 90), 66.20041, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 95), 66.22697, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 100), 66.13084, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 105), 65.88209, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 110), 65.45638, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 115), 64.84323, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 120), 64.05334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 125), 63.12111, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 130), 62.1005, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 135), 61.05608, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 140), 60.05261, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 145), 59.1464, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 150), 58.3805, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 155), 57.78349, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 160), 57.37085, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 165), 57.14703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 170), 57.10716, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 175), 57.2384, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(45, 180), 57.52169, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -180), 61.88751, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -175), 62.17237, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -170), 62.58229, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -165), 63.10724, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -160), 63.73833, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -155), 64.46726, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -150), 65.285, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -145), 66.18029, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -140), 67.13862, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -135), 68.14213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -130), 69.17023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -125), 70.20013, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -120), 71.20648, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -115), 72.1598, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -110), 73.02407, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -105), 73.75507, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -100), 74.30172, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -95), 74.61249, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -90), 74.64696, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -85), 74.38869, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -80), 73.85292, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -75), 73.0847, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -70), 72.14891, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -65), 71.11761, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -60), 70.05927, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -55), 69.03163, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -50), 68.07817, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -45), 67.22783, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -40), 66.49726, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -35), 65.89473, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -30), 65.42412, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -25), 65.08738, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -20), 64.88455, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -15), 64.81171, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -10), 64.8584, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, -5), 65.00661, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 0), 65.23243, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 5), 65.51022, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 10), 65.81755, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 15), 66.13871, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 20), 66.46542, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 25), 66.79481, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 30), 67.1262, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 35), 67.45875, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 40), 67.79097, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 45), 68.12199, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 50), 68.4529, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 55), 68.78695, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 60), 69.12764, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 65), 69.4756, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 70), 69.82551, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 75), 70.16448, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 80), 70.47235, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 85), 70.72337, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 90), 70.88842, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 95), 70.93734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 100), 70.84155, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 105), 70.57787, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 110), 70.13344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 115), 69.51067, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 120), 68.72994, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 125), 67.82857, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 130), 66.85592, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 135), 65.86639, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 140), 64.91238, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 145), 64.03885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 150), 63.28039, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 155), 62.66066, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 160), 62.19353, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 165), 61.88494, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 170), 61.73477, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 175), 61.7383, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(50, 180), 61.88751, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -180), 66.24734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -175), 66.4506, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -170), 66.77989, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -165), 67.22923, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -160), 67.79131, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -155), 68.45714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -150), 69.21564, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -145), 70.05327, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -140), 70.95394, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -135), 71.89922, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -130), 72.86861, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -125), 73.83943, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -120), 74.78614, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -115), 75.67876, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -110), 76.48114, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -105), 77.1501, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -100), 77.63757, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -95), 77.89759, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -90), 77.8977, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -85), 77.63041, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -80), 77.11801, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -75), 76.40767, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -70), 75.56028, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -65), 74.63903, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -60), 73.70126, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -55), 72.79396, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -50), 71.95232, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -45), 71.20016, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -40), 70.55178, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -35), 70.0145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -30), 69.59107, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -25), 69.28127, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -20), 69.08231, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -15), 68.98826, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -10), 68.9893, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, -5), 69.07157, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 0), 69.21827, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 5), 69.41186, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 10), 69.63676, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 15), 69.88146, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 20), 70.13948, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 25), 70.40885, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 30), 70.69074, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 35), 70.98798, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 40), 71.30395, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 45), 71.64194, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 50), 72.00468, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 55), 72.39344, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 60), 72.8066, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 65), 73.23795, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 70), 73.67511, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 75), 74.09874, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 80), 74.48294, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 85), 74.79674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 90), 75.00674, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 95), 75.08073, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 100), 74.99215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 105), 74.72476, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 110), 74.27656, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 115), 73.66147, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 120), 72.90814, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 125), 72.05617, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 130), 71.15089, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 135), 70.23805, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 140), 69.35955, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 145), 68.55048, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 150), 67.83788, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 155), 67.24075, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 160), 66.77116, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 165), 66.43571, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 170), 66.23703, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 175), 66.17495, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(55, 180), 66.24734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -180), 70.58059, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -175), 70.73343, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -170), 71.00179, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -165), 71.3816, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -160), 71.867, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -155), 72.45002, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -150), 73.12047, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -145), 73.86593, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -140), 74.67181, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -135), 75.52148, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -130), 76.39623, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -125), 77.27484, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -120), 78.13268, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -115), 78.94023, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -110), 79.6616, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -105), 80.2543, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -100), 80.67215, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -95), 80.87329, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -90), 80.83213, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -85), 80.54959, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -80), 80.05437, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -75), 79.39457, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -70), 78.62577, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -65), 77.80145, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -60), 76.96779, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -55), 76.16167, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -50), 75.41065, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -45), 74.73387, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -40), 74.14341, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -35), 73.64581, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -30), 73.24354, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -25), 72.93589, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -20), 72.7196, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -15), 72.58897, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -10), 72.53601, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, -5), 72.55071, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 0), 72.6219, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 5), 72.73846, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 10), 72.89066, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 15), 73.0714, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 20), 73.27681, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 25), 73.50625, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 30), 73.76171, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 35), 74.04689, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 40), 74.3661, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 45), 74.72321, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 50), 75.12049, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 55), 75.55748, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 60), 76.02968, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 65), 76.52728, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 70), 77.03418, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 75), 77.52734, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 80), 77.97711, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 85), 78.3486, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 90), 78.60487, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 95), 78.71189, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 100), 78.64477, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 105), 78.39332, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 110), 77.96482, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 115), 77.38258, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 120), 76.68133, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 125), 75.90158, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 130), 75.08457, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 135), 74.26861, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 140), 73.48694, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 145), 72.7666, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 150), 72.12837, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 155), 71.58724, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 160), 71.15334, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 165), 70.83303, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 170), 70.62993, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 175), 70.54572, 0.21 + 1.2);
	EXPECT_NEAR(get_mag_inclination_degrees(60, 180), 70.58059, 0.21 + 1.2);
}

TEST(GeoLookupTest, strength)
{
	EXPECT_NEAR(get_mag_strength_tesla(-50, -180) * 1e9, 58461.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -175) * 1e9, 57321.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -170) * 1e9, 56167.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -165) * 1e9, 55009.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -160) * 1e9, 53852.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -155) * 1e9, 52699.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -150) * 1e9, 51550.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -145) * 1e9, 50397, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -140) * 1e9, 49229.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -135) * 1e9, 48030.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -130) * 1e9, 46783.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -125) * 1e9, 45470.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -120) * 1e9, 44079.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -115) * 1e9, 42604.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -110) * 1e9, 41049, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -105) * 1e9, 39426.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -100) * 1e9, 37761.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -95) * 1e9, 36086.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -90) * 1e9, 34442.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -85) * 1e9, 32871.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -80) * 1e9, 31418.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -75) * 1e9, 30122.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -70) * 1e9, 29012.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -65) * 1e9, 28103.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -60) * 1e9, 27392.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -55) * 1e9, 26861.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -50) * 1e9, 26476.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -45) * 1e9, 26200.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -40) * 1e9, 25991.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -35) * 1e9, 25815.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -30) * 1e9, 25650.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -25) * 1e9, 25483.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -20) * 1e9, 25317.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -15) * 1e9, 25167.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -10) * 1e9, 25056.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, -5) * 1e9, 25022.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 0) * 1e9, 25106.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 5) * 1e9, 25357.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 10) * 1e9, 25822.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 15) * 1e9, 26542.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 20) * 1e9, 27545, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 25) * 1e9, 28843.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 30) * 1e9, 30431.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 35) * 1e9, 32288, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 40) * 1e9, 34378.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 45) * 1e9, 36659.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 50) * 1e9, 39081, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 55) * 1e9, 41593, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 60) * 1e9, 44146.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 65) * 1e9, 46697.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 70) * 1e9, 49206.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 75) * 1e9, 51637.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 80) * 1e9, 53959.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 85) * 1e9, 56140.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 90) * 1e9, 58150.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 95) * 1e9, 59959.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 100) * 1e9, 61544, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 105) * 1e9, 62882.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 110) * 1e9, 63964.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 115) * 1e9, 64785.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 120) * 1e9, 65350.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 125) * 1e9, 65671.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 130) * 1e9, 65764.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 135) * 1e9, 65647.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 140) * 1e9, 65342.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 145) * 1e9, 64868.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 150) * 1e9, 64245, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 155) * 1e9, 63492.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 160) * 1e9, 62631.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 165) * 1e9, 61679, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 170) * 1e9, 60655.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 175) * 1e9, 59577.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-50, 180) * 1e9, 58461.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -180) * 1e9, 56297.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -175) * 1e9, 55102.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -170) * 1e9, 53897.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -165) * 1e9, 52694, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -160) * 1e9, 51496.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -155) * 1e9, 50310.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -150) * 1e9, 49135.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -145) * 1e9, 47967.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -140) * 1e9, 46795.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -135) * 1e9, 45604.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -130) * 1e9, 44374.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -125) * 1e9, 43084.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -120) * 1e9, 41719.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -115) * 1e9, 40269.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -110) * 1e9, 38732.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -105) * 1e9, 37120.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -100) * 1e9, 35453.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -95) * 1e9, 33765.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -90) * 1e9, 32099.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -85) * 1e9, 30507.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -80) * 1e9, 29042.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -75) * 1e9, 27756.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -70) * 1e9, 26688.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -65) * 1e9, 25860.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -60) * 1e9, 25269.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -55) * 1e9, 24890.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -50) * 1e9, 24677.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -45) * 1e9, 24578, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -40) * 1e9, 24537.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -35) * 1e9, 24512.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -30) * 1e9, 24473.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -25) * 1e9, 24404.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -20) * 1e9, 24304.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -15) * 1e9, 24184.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -10) * 1e9, 24067.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, -5) * 1e9, 23986.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 0) * 1e9, 23991.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 5) * 1e9, 24138.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 10) * 1e9, 24492.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 15) * 1e9, 25113.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 20) * 1e9, 26048, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 25) * 1e9, 27322, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 30) * 1e9, 28935.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 35) * 1e9, 30864, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 40) * 1e9, 33064.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 45) * 1e9, 35479.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 50) * 1e9, 38045.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 55) * 1e9, 40696, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 60) * 1e9, 43369.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 65) * 1e9, 46012.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 70) * 1e9, 48582.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 75) * 1e9, 51042.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 80) * 1e9, 53362.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 85) * 1e9, 55515.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 90) * 1e9, 57473.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 95) * 1e9, 59210.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 100) * 1e9, 60703.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 105) * 1e9, 61937.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 110) * 1e9, 62906.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 115) * 1e9, 63612.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 120) * 1e9, 64066.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 125) * 1e9, 64283.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 130) * 1e9, 64282.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 135) * 1e9, 64081.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 140) * 1e9, 63700, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 145) * 1e9, 63155.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 150) * 1e9, 62466.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 155) * 1e9, 61648.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 160) * 1e9, 60721.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 165) * 1e9, 59703.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 170) * 1e9, 58614.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 175) * 1e9, 57473.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-45, 180) * 1e9, 56297.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -180) * 1e9, 53948.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -175) * 1e9, 52724.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -170) * 1e9, 51494.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -165) * 1e9, 50268.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -160) * 1e9, 49050.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -155) * 1e9, 47846.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -150) * 1e9, 46658.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -145) * 1e9, 45484.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -140) * 1e9, 44318.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -135) * 1e9, 43146.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -130) * 1e9, 41949.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -125) * 1e9, 40708.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -120) * 1e9, 39405.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -115) * 1e9, 38027, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -110) * 1e9, 36567.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -105) * 1e9, 35028.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -100) * 1e9, 33427.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -95) * 1e9, 31792.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -90) * 1e9, 30166.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -85) * 1e9, 28606.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -80) * 1e9, 27176, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -75) * 1e9, 25938.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -70) * 1e9, 24943.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -65) * 1e9, 24218.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -60) * 1e9, 23763.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -55) * 1e9, 23542.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -50) * 1e9, 23500.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -45) * 1e9, 23571.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -40) * 1e9, 23693, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -35) * 1e9, 23816.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -30) * 1e9, 23911.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -25) * 1e9, 23962, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -20) * 1e9, 23964.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -15) * 1e9, 23923.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -10) * 1e9, 23850.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, -5) * 1e9, 23771.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 0) * 1e9, 23729.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 5) * 1e9, 23783.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 10) * 1e9, 24011.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 15) * 1e9, 24492, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 20) * 1e9, 25296.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 25) * 1e9, 26470.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 30) * 1e9, 28026.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 35) * 1e9, 29946.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 40) * 1e9, 32182, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 45) * 1e9, 34663.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 50) * 1e9, 37310, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 55) * 1e9, 40039.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 60) * 1e9, 42774.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 65) * 1e9, 45451.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 70) * 1e9, 48020, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 75) * 1e9, 50444.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 80) * 1e9, 52696.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 85) * 1e9, 54751.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 90) * 1e9, 56586.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 95) * 1e9, 58179, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 100) * 1e9, 59513.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 105) * 1e9, 60583.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 110) * 1e9, 61392.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 115) * 1e9, 61951.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 120) * 1e9, 62279.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 125) * 1e9, 62393.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 130) * 1e9, 62312, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 135) * 1e9, 62049.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 140) * 1e9, 61620.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 145) * 1e9, 61038.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 150) * 1e9, 60316.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 155) * 1e9, 59467.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 160) * 1e9, 58508.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 165) * 1e9, 57456.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 170) * 1e9, 56331.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 175) * 1e9, 55156.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-40, 180) * 1e9, 53948.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -180) * 1e9, 51441.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -175) * 1e9, 50215.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -170) * 1e9, 48986.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -165) * 1e9, 47762.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -160) * 1e9, 46546.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -155) * 1e9, 45342.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -150) * 1e9, 44156.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -145) * 1e9, 42989.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -140) * 1e9, 41838.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -135) * 1e9, 40695.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -130) * 1e9, 39545.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -125) * 1e9, 38373.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -120) * 1e9, 37160.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -115) * 1e9, 35892.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -110) * 1e9, 34555.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -105) * 1e9, 33145.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -100) * 1e9, 31668, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -95) * 1e9, 30143.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -90) * 1e9, 28614.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -85) * 1e9, 27138.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -80) * 1e9, 25787.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -75) * 1e9, 24632.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -70) * 1e9, 23733.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -65) * 1e9, 23123.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -60) * 1e9, 22798.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -55) * 1e9, 22720.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -50) * 1e9, 22823.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -45) * 1e9, 23034.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -40) * 1e9, 23290.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -35) * 1e9, 23544.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -30) * 1e9, 23771.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -25) * 1e9, 23960.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -20) * 1e9, 24105.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -15) * 1e9, 24202, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -10) * 1e9, 24246.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, -5) * 1e9, 24245.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 0) * 1e9, 24225.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 5) * 1e9, 24239.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 10) * 1e9, 24366.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 15) * 1e9, 24700, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 20) * 1e9, 25332.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 25) * 1e9, 26334.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 30) * 1e9, 27743.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 35) * 1e9, 29555.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 40) * 1e9, 31725.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 45) * 1e9, 34180.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 50) * 1e9, 36825.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 55) * 1e9, 39561.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 60) * 1e9, 42293.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 65) * 1e9, 44945.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 70) * 1e9, 47460.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 75) * 1e9, 49798.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 80) * 1e9, 51932.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 85) * 1e9, 53839, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 90) * 1e9, 55497.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 95) * 1e9, 56891.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 100) * 1e9, 58014.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 105) * 1e9, 58871.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 110) * 1e9, 59481.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 115) * 1e9, 59871.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 120) * 1e9, 60064.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 125) * 1e9, 60082, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 130) * 1e9, 59935.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 135) * 1e9, 59631.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 140) * 1e9, 59178.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 145) * 1e9, 58582.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 150) * 1e9, 57851.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 155) * 1e9, 56997.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 160) * 1e9, 56032.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 165) * 1e9, 54973.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 170) * 1e9, 53839.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 175) * 1e9, 52655.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-35, 180) * 1e9, 51441.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -180) * 1e9, 48793.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -175) * 1e9, 47591.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -170) * 1e9, 46390.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -165) * 1e9, 45195.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -160) * 1e9, 44007.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -155) * 1e9, 42829.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -150) * 1e9, 41666.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -145) * 1e9, 40525.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -140) * 1e9, 39406.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -135) * 1e9, 38307.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -130) * 1e9, 37220.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -125) * 1e9, 36133.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -120) * 1e9, 35033.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -115) * 1e9, 33902.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -110) * 1e9, 32722.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -105) * 1e9, 31479.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -100) * 1e9, 30167.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -95) * 1e9, 28800.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -90) * 1e9, 27414.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -85) * 1e9, 26067.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -80) * 1e9, 24834.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -75) * 1e9, 23791.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -70) * 1e9, 23003.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -65) * 1e9, 22504.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -60) * 1e9, 22292.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -55) * 1e9, 22323.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -50) * 1e9, 22532.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -45) * 1e9, 22844.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -40) * 1e9, 23201, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -35) * 1e9, 23563.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -30) * 1e9, 23917.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -25) * 1e9, 24257.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -20) * 1e9, 24577.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -15) * 1e9, 24861.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -10) * 1e9, 25086.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, -5) * 1e9, 25237.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 0) * 1e9, 25316.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 5) * 1e9, 25361.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 10) * 1e9, 25441.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 15) * 1e9, 25652.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 20) * 1e9, 26100.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 25) * 1e9, 26881.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 30) * 1e9, 28060.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 35) * 1e9, 29660, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 40) * 1e9, 31654.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 45) * 1e9, 33973.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 50) * 1e9, 36517.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 55) * 1e9, 39171.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 60) * 1e9, 41827.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 65) * 1e9, 44394, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 70) * 1e9, 46805.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 75) * 1e9, 49018.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 80) * 1e9, 51002, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 85) * 1e9, 52730.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 90) * 1e9, 54181.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 95) * 1e9, 55342.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 100) * 1e9, 56216.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 105) * 1e9, 56829.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 110) * 1e9, 57218.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 115) * 1e9, 57426.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 120) * 1e9, 57486.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 125) * 1e9, 57416.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 130) * 1e9, 57218.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 135) * 1e9, 56890.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 140) * 1e9, 56427.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 145) * 1e9, 55831, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 150) * 1e9, 55107.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 155) * 1e9, 54265.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 160) * 1e9, 53315.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 165) * 1e9, 52272.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 170) * 1e9, 51154.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 175) * 1e9, 49987.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-30, 180) * 1e9, 48793.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -180) * 1e9, 46031.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -175) * 1e9, 44882, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -170) * 1e9, 43738.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -165) * 1e9, 42603, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -160) * 1e9, 41473.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -155) * 1e9, 40352.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -150) * 1e9, 39244.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -145) * 1e9, 38158.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -140) * 1e9, 37097.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -135) * 1e9, 36066.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -130) * 1e9, 35062.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -125) * 1e9, 34080.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -120) * 1e9, 33109, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -115) * 1e9, 32132.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -110) * 1e9, 31128.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -105) * 1e9, 30073.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -100) * 1e9, 28954.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -95) * 1e9, 27775.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -90) * 1e9, 26567.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -85) * 1e9, 25385.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -80) * 1e9, 24302.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -75) * 1e9, 23391.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -70) * 1e9, 22717.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -65) * 1e9, 22314.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -60) * 1e9, 22183.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -55) * 1e9, 22284.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -50) * 1e9, 22557, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -45) * 1e9, 22933.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -40) * 1e9, 23362.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -35) * 1e9, 23816.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -30) * 1e9, 24289.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -25) * 1e9, 24780.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -20) * 1e9, 25283.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -15) * 1e9, 25771.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -10) * 1e9, 26206.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, -5) * 1e9, 26547, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 0) * 1e9, 26775.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 5) * 1e9, 26906, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 10) * 1e9, 26993.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 15) * 1e9, 27124.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 20) * 1e9, 27406.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 25) * 1e9, 27950.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 30) * 1e9, 28847.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 35) * 1e9, 30154.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 40) * 1e9, 31874.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 45) * 1e9, 33953.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 50) * 1e9, 36294.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 55) * 1e9, 38774.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 60) * 1e9, 41274, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 65) * 1e9, 43691.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 70) * 1e9, 45953.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 75) * 1e9, 48008.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 80) * 1e9, 49820.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 85) * 1e9, 51356.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 90) * 1e9, 52589.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 95) * 1e9, 53507.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 100) * 1e9, 54123.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 105) * 1e9, 54482.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 110) * 1e9, 54646.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 115) * 1e9, 54675.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 120) * 1e9, 54611.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 125) * 1e9, 54466.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 130) * 1e9, 54231.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 135) * 1e9, 53887.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 140) * 1e9, 53422, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 145) * 1e9, 52832.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 150) * 1e9, 52124, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 155) * 1e9, 51305.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 160) * 1e9, 50387.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 165) * 1e9, 49380, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 170) * 1e9, 48302.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 175) * 1e9, 47177.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-25, 180) * 1e9, 46031.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -180) * 1e9, 43216, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -175) * 1e9, 42149.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -170) * 1e9, 41094.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -165) * 1e9, 40050.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -160) * 1e9, 39014.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -155) * 1e9, 37986.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -150) * 1e9, 36970.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -145) * 1e9, 35976.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -140) * 1e9, 35010.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -135) * 1e9, 34079.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -130) * 1e9, 33185.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -125) * 1e9, 32328.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -120) * 1e9, 31501.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -115) * 1e9, 30689.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -110) * 1e9, 29868.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -105) * 1e9, 29010.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -100) * 1e9, 28097, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -95) * 1e9, 27125.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -90) * 1e9, 26119.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -85) * 1e9, 25126.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -80) * 1e9, 24210, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -75) * 1e9, 23437.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -70) * 1e9, 22866.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -65) * 1e9, 22532.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -60) * 1e9, 22441.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -55) * 1e9, 22567.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -50) * 1e9, 22861.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -45) * 1e9, 23270, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -40) * 1e9, 23750.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -35) * 1e9, 24281.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -30) * 1e9, 24858, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -25) * 1e9, 25482.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -20) * 1e9, 26144.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -15) * 1e9, 26810.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -10) * 1e9, 27430.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, -5) * 1e9, 27949.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 0) * 1e9, 28330.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 5) * 1e9, 28569.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 10) * 1e9, 28699.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 15) * 1e9, 28792.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 20) * 1e9, 28946.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 25) * 1e9, 29272.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 30) * 1e9, 29884.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 35) * 1e9, 30865.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 40) * 1e9, 32252.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 45) * 1e9, 34016.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 50) * 1e9, 36071.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 55) * 1e9, 38296.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 60) * 1e9, 40565, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 65) * 1e9, 42771.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 70) * 1e9, 44837.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 75) * 1e9, 46706.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 80) * 1e9, 48333.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 85) * 1e9, 49676.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 90) * 1e9, 50698.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 95) * 1e9, 51385.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 100) * 1e9, 51759.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 105) * 1e9, 51883.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 110) * 1e9, 51840.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 115) * 1e9, 51709.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 120) * 1e9, 51538.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 125) * 1e9, 51331.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 130) * 1e9, 51067.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 135) * 1e9, 50712.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 140) * 1e9, 50245.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 145) * 1e9, 49662.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 150) * 1e9, 48971.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 155) * 1e9, 48183.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 160) * 1e9, 47308.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 165) * 1e9, 46355.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 170) * 1e9, 45340.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 175) * 1e9, 44286.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-20, 180) * 1e9, 43216, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -180) * 1e9, 40454.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -175) * 1e9, 39501.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -170) * 1e9, 38566.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -165) * 1e9, 37646.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -160) * 1e9, 36736.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -155) * 1e9, 35837.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -150) * 1e9, 34952.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -145) * 1e9, 34090.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -140) * 1e9, 33258.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -135) * 1e9, 32465, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -130) * 1e9, 31713.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -125) * 1e9, 31005.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -120) * 1e9, 30337.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -115) * 1e9, 29696.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -110) * 1e9, 29060.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -105) * 1e9, 28400.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -100) * 1e9, 27695.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -95) * 1e9, 26937.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -90) * 1e9, 26142.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -85) * 1e9, 25345.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -80) * 1e9, 24596.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -75) * 1e9, 23949.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -70) * 1e9, 23456.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -65) * 1e9, 23152.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -60) * 1e9, 23054.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -55) * 1e9, 23155.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -50) * 1e9, 23427.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -45) * 1e9, 23833.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -40) * 1e9, 24340.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -35) * 1e9, 24924.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -30) * 1e9, 25578.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -25) * 1e9, 26297, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -20) * 1e9, 27064, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -15) * 1e9, 27844.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -10) * 1e9, 28585.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, -5) * 1e9, 29227.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 0) * 1e9, 29725.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 5) * 1e9, 30060, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 10) * 1e9, 30246.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 15) * 1e9, 30334.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 20) * 1e9, 30405.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 25) * 1e9, 30565.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 30) * 1e9, 30931.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 35) * 1e9, 31609.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 40) * 1e9, 32661.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 45) * 1e9, 34084.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 50) * 1e9, 35808.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 55) * 1e9, 37722, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 60) * 1e9, 39703.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 65) * 1e9, 41647.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 70) * 1e9, 43477.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 75) * 1e9, 45134.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 80) * 1e9, 46566.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 85) * 1e9, 47720.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 90) * 1e9, 48552, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 95) * 1e9, 49041, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 100) * 1e9, 49214.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 105) * 1e9, 49146.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 110) * 1e9, 48937.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 115) * 1e9, 48678.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 120) * 1e9, 48419.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 125) * 1e9, 48161, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 130) * 1e9, 47868.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 135) * 1e9, 47499.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 140) * 1e9, 47026, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 145) * 1e9, 46445.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 150) * 1e9, 45771.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 155) * 1e9, 45017, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 160) * 1e9, 44193.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 165) * 1e9, 43310, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 170) * 1e9, 42378.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 175) * 1e9, 41419.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-15, 180) * 1e9, 40454.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -180) * 1e9, 37903, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -175) * 1e9, 37091.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -170) * 1e9, 36302.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -165) * 1e9, 35533.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -160) * 1e9, 34778.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -155) * 1e9, 34037.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -150) * 1e9, 33316.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -145) * 1e9, 32622.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -140) * 1e9, 31962.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -135) * 1e9, 31340.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -130) * 1e9, 30761.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -125) * 1e9, 30225.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -120) * 1e9, 29730.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -115) * 1e9, 29266.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -110) * 1e9, 28814.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -105) * 1e9, 28349.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -100) * 1e9, 27849, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -95) * 1e9, 27300.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -90) * 1e9, 26708, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -85) * 1e9, 26093.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -80) * 1e9, 25490.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -75) * 1e9, 24942.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -70) * 1e9, 24491.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -65) * 1e9, 24175.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -60) * 1e9, 24022.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -55) * 1e9, 24047, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -50) * 1e9, 24247, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -45) * 1e9, 24605.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -40) * 1e9, 25097.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -35) * 1e9, 25697.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -30) * 1e9, 26383.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -25) * 1e9, 27139.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -20) * 1e9, 27941.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -15) * 1e9, 28756.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -10) * 1e9, 29536, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, -5) * 1e9, 30227.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 0) * 1e9, 30785.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 5) * 1e9, 31183.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 10) * 1e9, 31423, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 15) * 1e9, 31531.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 20) * 1e9, 31570, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 25) * 1e9, 31630.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 30) * 1e9, 31826.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 35) * 1e9, 32270.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 40) * 1e9, 33038.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 45) * 1e9, 34144.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 50) * 1e9, 35538.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 55) * 1e9, 37121.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 60) * 1e9, 38786.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 65) * 1e9, 40438.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 70) * 1e9, 42005.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 75) * 1e9, 43431, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 80) * 1e9, 44660.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 85) * 1e9, 45635.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 90) * 1e9, 46302.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 95) * 1e9, 46637.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 100) * 1e9, 46666.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 105) * 1e9, 46467.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 110) * 1e9, 46146.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 115) * 1e9, 45797.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 120) * 1e9, 45469.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 125) * 1e9, 45161, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 130) * 1e9, 44831.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 135) * 1e9, 44434.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 140) * 1e9, 43944.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 145) * 1e9, 43359.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 150) * 1e9, 42696.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 155) * 1e9, 41975.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 160) * 1e9, 41208.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 165) * 1e9, 40404.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 170) * 1e9, 39574.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 175) * 1e9, 38734.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-10, 180) * 1e9, 37903, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -180) * 1e9, 35739.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -175) * 1e9, 35090.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -170) * 1e9, 34468.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -165) * 1e9, 33867.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -160) * 1e9, 33284.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -155) * 1e9, 32720.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -150) * 1e9, 32184.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -145) * 1e9, 31682.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -140) * 1e9, 31219.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -135) * 1e9, 30797.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -130) * 1e9, 30414.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -125) * 1e9, 30069.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -120) * 1e9, 29760.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -115) * 1e9, 29478.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -110) * 1e9, 29210.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -105) * 1e9, 28933.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -100) * 1e9, 28625, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -95) * 1e9, 28266.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -90) * 1e9, 27851.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -85) * 1e9, 27386.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -80) * 1e9, 26894.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -75) * 1e9, 26405.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -70) * 1e9, 25958.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -65) * 1e9, 25591.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -60) * 1e9, 25343.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -55) * 1e9, 25246.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -50) * 1e9, 25324.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -45) * 1e9, 25582.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -40) * 1e9, 26003.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -35) * 1e9, 26560.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -30) * 1e9, 27219.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -25) * 1e9, 27948.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -20) * 1e9, 28717.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -15) * 1e9, 29494.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -10) * 1e9, 30239.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, -5) * 1e9, 30913.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 0) * 1e9, 31479, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 5) * 1e9, 31908.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 10) * 1e9, 32191, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 15) * 1e9, 32339.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 20) * 1e9, 32394.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 25) * 1e9, 32430.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 30) * 1e9, 32549.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 35) * 1e9, 32855.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 40) * 1e9, 33425, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 45) * 1e9, 34279.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 50) * 1e9, 35380.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 55) * 1e9, 36652.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 60) * 1e9, 38005.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 65) * 1e9, 39361.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 70) * 1e9, 40659.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 75) * 1e9, 41848.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 80) * 1e9, 42876.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 85) * 1e9, 43681.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 90) * 1e9, 44210.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 95) * 1e9, 44437.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 100) * 1e9, 44382.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 105) * 1e9, 44117.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 110) * 1e9, 43739.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 115) * 1e9, 43335.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 120) * 1e9, 42949.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 125) * 1e9, 42581.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 130) * 1e9, 42193.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 135) * 1e9, 41747, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 140) * 1e9, 41220.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 145) * 1e9, 40616.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 150) * 1e9, 39957.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 155) * 1e9, 39265, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 160) * 1e9, 38554.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 165) * 1e9, 37835.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 170) * 1e9, 37119.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 175) * 1e9, 36417, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(-5, 180) * 1e9, 35739.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -180) * 1e9, 34121.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -175) * 1e9, 33645.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -170) * 1e9, 33198, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -165) * 1e9, 32770.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -160) * 1e9, 32363.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -155) * 1e9, 31981.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -150) * 1e9, 31636.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -145) * 1e9, 31337.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -140) * 1e9, 31085.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -135) * 1e9, 30876.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -130) * 1e9, 30705.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -125) * 1e9, 30564.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -120) * 1e9, 30449.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -115) * 1e9, 30354.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -110) * 1e9, 30267.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -105) * 1e9, 30168.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -100) * 1e9, 30032.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -95) * 1e9, 29834.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -90) * 1e9, 29557.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -85) * 1e9, 29198.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -80) * 1e9, 28771.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -75) * 1e9, 28301.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -70) * 1e9, 27823.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -65) * 1e9, 27378, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -60) * 1e9, 27008.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -55) * 1e9, 26761.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -50) * 1e9, 26680.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -45) * 1e9, 26787.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -40) * 1e9, 27080.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -35) * 1e9, 27531.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -30) * 1e9, 28099.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -25) * 1e9, 28742.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -20) * 1e9, 29423.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -15) * 1e9, 30113.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -10) * 1e9, 30781.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, -5) * 1e9, 31400.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 0) * 1e9, 31941, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 5) * 1e9, 32379.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 10) * 1e9, 32699.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 15) * 1e9, 32902.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 20) * 1e9, 33016.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 25) * 1e9, 33098.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 30) * 1e9, 33230.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 35) * 1e9, 33499.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 40) * 1e9, 33966.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 45) * 1e9, 34650.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 50) * 1e9, 35523.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 55) * 1e9, 36530.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 60) * 1e9, 37604.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 65) * 1e9, 38689.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 70) * 1e9, 39736.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 75) * 1e9, 40702.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 80) * 1e9, 41539.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 85) * 1e9, 42191.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 90) * 1e9, 42609, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 95) * 1e9, 42766, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 100) * 1e9, 42677.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 105) * 1e9, 42399.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 110) * 1e9, 42007.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 115) * 1e9, 41570.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 120) * 1e9, 41126.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 125) * 1e9, 40678.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 130) * 1e9, 40201.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 135) * 1e9, 39673.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 140) * 1e9, 39082.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 145) * 1e9, 38440.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 150) * 1e9, 37768.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 155) * 1e9, 37092.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 160) * 1e9, 36430.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 165) * 1e9, 35794.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 170) * 1e9, 35194, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 175) * 1e9, 34635.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(0, 180) * 1e9, 34121.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -180) * 1e9, 33145.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -175) * 1e9, 32834.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -170) * 1e9, 32554.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -165) * 1e9, 32293.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -160) * 1e9, 32053.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -155) * 1e9, 31846.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -150) * 1e9, 31687.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -145) * 1e9, 31587.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -140) * 1e9, 31546.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -135) * 1e9, 31554.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -130) * 1e9, 31599.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -125) * 1e9, 31668.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -120) * 1e9, 31753.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -115) * 1e9, 31847.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -110) * 1e9, 31937.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -105) * 1e9, 32004.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -100) * 1e9, 32018.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -95) * 1e9, 31946.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -90) * 1e9, 31765.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -85) * 1e9, 31467.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -80) * 1e9, 31062.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -75) * 1e9, 30574.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -70) * 1e9, 30038.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -65) * 1e9, 29496.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -60) * 1e9, 28995.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -55) * 1e9, 28591.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -50) * 1e9, 28337.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -45) * 1e9, 28269.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -40) * 1e9, 28395.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -35) * 1e9, 28693.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -30) * 1e9, 29121.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -25) * 1e9, 29635.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -20) * 1e9, 30198, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -15) * 1e9, 30780.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -10) * 1e9, 31361, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, -5) * 1e9, 31917.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 0) * 1e9, 32428.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 5) * 1e9, 32871.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 10) * 1e9, 33229, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 15) * 1e9, 33498.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 20) * 1e9, 33700.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 25) * 1e9, 33877.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 30) * 1e9, 34091.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 35) * 1e9, 34401.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 40) * 1e9, 34849.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 45) * 1e9, 35440.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 50) * 1e9, 36155.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 55) * 1e9, 36957.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 60) * 1e9, 37806.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 65) * 1e9, 38667.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 70) * 1e9, 39504.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 75) * 1e9, 40281.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 80) * 1e9, 40956, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 85) * 1e9, 41479.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 90) * 1e9, 41811.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 95) * 1e9, 41929.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 100) * 1e9, 41840.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 105) * 1e9, 41579, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 110) * 1e9, 41194.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 115) * 1e9, 40731.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 120) * 1e9, 40218.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 125) * 1e9, 39664.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 130) * 1e9, 39065.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 135) * 1e9, 38419.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 140) * 1e9, 37731.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 145) * 1e9, 37020, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 150) * 1e9, 36311.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 155) * 1e9, 35630.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 160) * 1e9, 34997.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 165) * 1e9, 34427.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 170) * 1e9, 33929.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 175) * 1e9, 33504.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(5, 180) * 1e9, 33145.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -180) * 1e9, 32827.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -175) * 1e9, 32656.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -170) * 1e9, 32521.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -165) * 1e9, 32409.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -160) * 1e9, 32321.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -155) * 1e9, 32275.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -150) * 1e9, 32289.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -145) * 1e9, 32376.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -140) * 1e9, 32536.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -135) * 1e9, 32755.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -130) * 1e9, 33012.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -125) * 1e9, 33290, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -120) * 1e9, 33574.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -115) * 1e9, 33854.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -110) * 1e9, 34116.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -105) * 1e9, 34334.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -100) * 1e9, 34475.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -95) * 1e9, 34500.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -90) * 1e9, 34382.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -85) * 1e9, 34110.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -80) * 1e9, 33694.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -75) * 1e9, 33161.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -70) * 1e9, 32548.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -65) * 1e9, 31902, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -60) * 1e9, 31274.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -55) * 1e9, 30724.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -50) * 1e9, 30311.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -45) * 1e9, 30075.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -40) * 1e9, 30030.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -35) * 1e9, 30160.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -30) * 1e9, 30429.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -25) * 1e9, 30798.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -20) * 1e9, 31234, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -15) * 1e9, 31713.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -10) * 1e9, 32217.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, -5) * 1e9, 32727.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 0) * 1e9, 33221.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 5) * 1e9, 33676.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 10) * 1e9, 34075.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 15) * 1e9, 34415.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 20) * 1e9, 34714.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 25) * 1e9, 35007.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 30) * 1e9, 35334.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 35) * 1e9, 35729.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 40) * 1e9, 36207.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 45) * 1e9, 36764.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 50) * 1e9, 37381.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 55) * 1e9, 38041.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 60) * 1e9, 38727.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 65) * 1e9, 39423.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 70) * 1e9, 40106.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 75) * 1e9, 40745.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 80) * 1e9, 41301.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 85) * 1e9, 41734, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 90) * 1e9, 42011, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 95) * 1e9, 42113.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 100) * 1e9, 42040.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 105) * 1e9, 41804.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 110) * 1e9, 41428.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 115) * 1e9, 40933, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 120) * 1e9, 40336.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 125) * 1e9, 39654.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 130) * 1e9, 38905, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 135) * 1e9, 38108.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 140) * 1e9, 37288.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 145) * 1e9, 36475.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 150) * 1e9, 35697, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 155) * 1e9, 34979.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 160) * 1e9, 34345.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 165) * 1e9, 33810.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 170) * 1e9, 33383.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 175) * 1e9, 33061.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(10, 180) * 1e9, 32827.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -180) * 1e9, 33130.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -175) * 1e9, 33058.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -170) * 1e9, 33036.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -165) * 1e9, 33047.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -160) * 1e9, 33094.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -155) * 1e9, 33192.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -150) * 1e9, 33364.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -145) * 1e9, 33623.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -140) * 1e9, 33968.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -135) * 1e9, 34381.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -130) * 1e9, 34837.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -125) * 1e9, 35311.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -120) * 1e9, 35786.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -115) * 1e9, 36244.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -110) * 1e9, 36666.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -105) * 1e9, 37022.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -100) * 1e9, 37271.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -95) * 1e9, 37374.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -90) * 1e9, 37298.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -85) * 1e9, 37033.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -80) * 1e9, 36590.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -75) * 1e9, 35999.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -70) * 1e9, 35303, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -65) * 1e9, 34553.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -60) * 1e9, 33811.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -55) * 1e9, 33139.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -50) * 1e9, 32596.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -45) * 1e9, 32223.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -40) * 1e9, 32032.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -35) * 1e9, 32012.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -30) * 1e9, 32134.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -25) * 1e9, 32366.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -20) * 1e9, 32686.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -15) * 1e9, 33078, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -10) * 1e9, 33525, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, -5) * 1e9, 34008.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 0) * 1e9, 34500.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 5) * 1e9, 34975.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 10) * 1e9, 35416.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 15) * 1e9, 35821.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 20) * 1e9, 36208.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 25) * 1e9, 36605.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 30) * 1e9, 37039.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 35) * 1e9, 37522, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 40) * 1e9, 38047.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 45) * 1e9, 38600.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 50) * 1e9, 39166.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 55) * 1e9, 39741.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 60) * 1e9, 40326.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 65) * 1e9, 40921, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 70) * 1e9, 41510.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 75) * 1e9, 42069.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 80) * 1e9, 42561.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 85) * 1e9, 42950, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 90) * 1e9, 43207.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 95) * 1e9, 43315.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 100) * 1e9, 43265.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 105) * 1e9, 43053.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 110) * 1e9, 42677, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 115) * 1e9, 42138.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 120) * 1e9, 41449, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 125) * 1e9, 40630.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 130) * 1e9, 39717.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 135) * 1e9, 38751.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 140) * 1e9, 37775.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 145) * 1e9, 36830.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 150) * 1e9, 35950.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 155) * 1e9, 35162.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 160) * 1e9, 34490, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 165) * 1e9, 33949.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 170) * 1e9, 33549.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 175) * 1e9, 33283.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(15, 180) * 1e9, 33130.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -180) * 1e9, 33995.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -175) * 1e9, 33976.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -170) * 1e9, 34030.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -165) * 1e9, 34137.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -160) * 1e9, 34298.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -155) * 1e9, 34527.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -150) * 1e9, 34843.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -145) * 1e9, 35257.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -140) * 1e9, 35767.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -135) * 1e9, 36351.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -130) * 1e9, 36982.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -125) * 1e9, 37632.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -120) * 1e9, 38276.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -115) * 1e9, 38892.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -110) * 1e9, 39455.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -105) * 1e9, 39930.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -100) * 1e9, 40272.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -95) * 1e9, 40439.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -90) * 1e9, 40398.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -85) * 1e9, 40137.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -80) * 1e9, 39667, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -75) * 1e9, 39020.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -70) * 1e9, 38247.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -65) * 1e9, 37407.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -60) * 1e9, 36570, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -55) * 1e9, 35801.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -50) * 1e9, 35160.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -45) * 1e9, 34685.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -40) * 1e9, 34385.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -35) * 1e9, 34248.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -30) * 1e9, 34250.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -25) * 1e9, 34370.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -20) * 1e9, 34593.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -15) * 1e9, 34912.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -10) * 1e9, 35314.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, -5) * 1e9, 35779.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 0) * 1e9, 36275.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 5) * 1e9, 36771.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 10) * 1e9, 37246.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 15) * 1e9, 37700.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 20) * 1e9, 38151.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 25) * 1e9, 38622.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 30) * 1e9, 39130.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 35) * 1e9, 39674.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 40) * 1e9, 40237.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 45) * 1e9, 40799.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 50) * 1e9, 41348.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 55) * 1e9, 41888.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 60) * 1e9, 42430.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 65) * 1e9, 42983.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 70) * 1e9, 43540.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 75) * 1e9, 44076.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 80) * 1e9, 44557, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 85) * 1e9, 44947.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 90) * 1e9, 45220.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 95) * 1e9, 45355.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 100) * 1e9, 45333.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 105) * 1e9, 45139.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 110) * 1e9, 44754.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 115) * 1e9, 44169.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 120) * 1e9, 43390, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 125) * 1e9, 42442.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 130) * 1e9, 41373.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 135) * 1e9, 40241.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 140) * 1e9, 39104.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 145) * 1e9, 38014.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 150) * 1e9, 37012.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 155) * 1e9, 36127.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 160) * 1e9, 35384.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 165) * 1e9, 34799.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 170) * 1e9, 34379.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 175) * 1e9, 34119.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(20, 180) * 1e9, 33995.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -180) * 1e9, 35373.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -175) * 1e9, 35364.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -170) * 1e9, 35458.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -165) * 1e9, 35634.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -160) * 1e9, 35890.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -155) * 1e9, 36235.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -150) * 1e9, 36681.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -145) * 1e9, 37234.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -140) * 1e9, 37885.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -135) * 1e9, 38613.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -130) * 1e9, 39387.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -125) * 1e9, 40178.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -120) * 1e9, 40958.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -115) * 1e9, 41700.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -110) * 1e9, 42374.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -105) * 1e9, 42942.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -100) * 1e9, 43358.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -95) * 1e9, 43578, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -90) * 1e9, 43568.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -85) * 1e9, 43314.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -80) * 1e9, 42828.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -75) * 1e9, 42143.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -70) * 1e9, 41313.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -65) * 1e9, 40407, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -60) * 1e9, 39497.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -55) * 1e9, 38656.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -50) * 1e9, 37943.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -45) * 1e9, 37391.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -40) * 1e9, 37008.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -35) * 1e9, 36782.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -30) * 1e9, 36691.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -25) * 1e9, 36721.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -20) * 1e9, 36865.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -15) * 1e9, 37121, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -10) * 1e9, 37479.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, -5) * 1e9, 37920.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 0) * 1e9, 38410, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 5) * 1e9, 38913, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 10) * 1e9, 39406.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 15) * 1e9, 39888.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 20) * 1e9, 40372, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 25) * 1e9, 40878.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 30) * 1e9, 41420.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 35) * 1e9, 41992.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 40) * 1e9, 42575.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 45) * 1e9, 43149.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 50) * 1e9, 43707.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 55) * 1e9, 44254.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 60) * 1e9, 44806.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 65) * 1e9, 45372.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 70) * 1e9, 45948.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 75) * 1e9, 46510.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 80) * 1e9, 47024, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 85) * 1e9, 47454.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 90) * 1e9, 47770.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 95) * 1e9, 47946.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 100) * 1e9, 47957.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 105) * 1e9, 47778.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 110) * 1e9, 47383.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 115) * 1e9, 46756.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 120) * 1e9, 45903.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 125) * 1e9, 44852.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 130) * 1e9, 43657.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 135) * 1e9, 42386.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 140) * 1e9, 41108.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 145) * 1e9, 39884.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 150) * 1e9, 38760.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 155) * 1e9, 37771.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 160) * 1e9, 36940.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 165) * 1e9, 36284.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 170) * 1e9, 35810, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 175) * 1e9, 35512.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(25, 180) * 1e9, 35373.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -180) * 1e9, 37228.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -175) * 1e9, 37199.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -170) * 1e9, 37303.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -165) * 1e9, 37525.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -160) * 1e9, 37857.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -155) * 1e9, 38301, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -150) * 1e9, 38859.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -145) * 1e9, 39528.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -140) * 1e9, 40295.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -135) * 1e9, 41133.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -130) * 1e9, 42012.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -125) * 1e9, 42902.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -120) * 1e9, 43773.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -115) * 1e9, 44597.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -110) * 1e9, 45341, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -105) * 1e9, 45965.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -100) * 1e9, 46427.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -95) * 1e9, 46682, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -90) * 1e9, 46696.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -85) * 1e9, 46455.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -80) * 1e9, 45968.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -75) * 1e9, 45268.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -70) * 1e9, 44410.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -65) * 1e9, 43466.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -60) * 1e9, 42512.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -55) * 1e9, 41622.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -50) * 1e9, 40853.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -45) * 1e9, 40239.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -40) * 1e9, 39786.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -35) * 1e9, 39483.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -30) * 1e9, 39314.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -25) * 1e9, 39267.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -20) * 1e9, 39340.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -15) * 1e9, 39533.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -10) * 1e9, 39840.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, -5) * 1e9, 40241.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 0) * 1e9, 40703.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 5) * 1e9, 41190.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 10) * 1e9, 41679.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 15) * 1e9, 42162.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 20) * 1e9, 42650.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 25) * 1e9, 43160.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 30) * 1e9, 43702.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 35) * 1e9, 44274.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 40) * 1e9, 44863.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 45) * 1e9, 45454, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 50) * 1e9, 46041.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 55) * 1e9, 46630.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 60) * 1e9, 47234.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 65) * 1e9, 47858.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 70) * 1e9, 48494.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 75) * 1e9, 49118.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 80) * 1e9, 49694.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 85) * 1e9, 50187.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 90) * 1e9, 50561, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 95) * 1e9, 50785.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 100) * 1e9, 50829.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 105) * 1e9, 50664.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 110) * 1e9, 50262.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 115) * 1e9, 49608.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 120) * 1e9, 48707.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 125) * 1e9, 47591.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 130) * 1e9, 46316.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 135) * 1e9, 44953.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 140) * 1e9, 43578.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 145) * 1e9, 42256.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 150) * 1e9, 41038.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 155) * 1e9, 39959.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 160) * 1e9, 39046.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 165) * 1e9, 38313.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 170) * 1e9, 37769.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 175) * 1e9, 37411.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(30, 180) * 1e9, 37228.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -180) * 1e9, 39528.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -175) * 1e9, 39466.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -170) * 1e9, 39564.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -165) * 1e9, 39809.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -160) * 1e9, 40194.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -155) * 1e9, 40712.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -150) * 1e9, 41356.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -145) * 1e9, 42111.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -140) * 1e9, 42958.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -135) * 1e9, 43866.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -130) * 1e9, 44806.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -125) * 1e9, 45746.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -120) * 1e9, 46658.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -115) * 1e9, 47512.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -110) * 1e9, 48277.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -105) * 1e9, 48915.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -100) * 1e9, 49386.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -95) * 1e9, 49649.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -90) * 1e9, 49674.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -85) * 1e9, 49444.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -80) * 1e9, 48968.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -75) * 1e9, 48276.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -70) * 1e9, 47421.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -65) * 1e9, 46472, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -60) * 1e9, 45503.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -55) * 1e9, 44586.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -50) * 1e9, 43777, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -45) * 1e9, 43107.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -40) * 1e9, 42588.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -35) * 1e9, 42212.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -30) * 1e9, 41968.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -25) * 1e9, 41847.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -20) * 1e9, 41849.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -15) * 1e9, 41974.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -10) * 1e9, 42216.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, -5) * 1e9, 42556.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 0) * 1e9, 42966.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 5) * 1e9, 43412.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 10) * 1e9, 43870.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 15) * 1e9, 44331.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 20) * 1e9, 44801, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 25) * 1e9, 45292.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 30) * 1e9, 45817.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 35) * 1e9, 46377.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 40) * 1e9, 46967.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 45) * 1e9, 47580.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 50) * 1e9, 48213.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 55) * 1e9, 48870.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 60) * 1e9, 49554.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 65) * 1e9, 50264.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 70) * 1e9, 50985.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 75) * 1e9, 51690.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 80) * 1e9, 52343.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 85) * 1e9, 52904.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 90) * 1e9, 53336.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 95) * 1e9, 53606.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 100) * 1e9, 53679.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 105) * 1e9, 53527.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 110) * 1e9, 53125.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 115) * 1e9, 52462.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 120) * 1e9, 51545.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 125) * 1e9, 50409.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 130) * 1e9, 49109.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 135) * 1e9, 47717.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 140) * 1e9, 46305.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 145) * 1e9, 44940.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 150) * 1e9, 43675.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 155) * 1e9, 42546.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 160) * 1e9, 41578.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 165) * 1e9, 40787, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 170) * 1e9, 40181.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 175) * 1e9, 39763.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(35, 180) * 1e9, 39528.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -180) * 1e9, 42223.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -175) * 1e9, 42131.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -170) * 1e9, 42215.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -165) * 1e9, 42466.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -160) * 1e9, 42876.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -155) * 1e9, 43433.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -150) * 1e9, 44121.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -145) * 1e9, 44918.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -140) * 1e9, 45797.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -135) * 1e9, 46727.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -130) * 1e9, 47676.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -125) * 1e9, 48615.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -120) * 1e9, 49514, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -115) * 1e9, 50346.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -110) * 1e9, 51082.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -105) * 1e9, 51689, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -100) * 1e9, 52130.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -95) * 1e9, 52373.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -90) * 1e9, 52388.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -85) * 1e9, 52164.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -80) * 1e9, 51706.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -75) * 1e9, 51040.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -70) * 1e9, 50215.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -65) * 1e9, 49291.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -60) * 1e9, 48337.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -55) * 1e9, 47417.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -50) * 1e9, 46584.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -45) * 1e9, 45870.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -40) * 1e9, 45290.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -35) * 1e9, 44843.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -30) * 1e9, 44525.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -25) * 1e9, 44329.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -20) * 1e9, 44256.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -15) * 1e9, 44305.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -10) * 1e9, 44468.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, -5) * 1e9, 44730.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 0) * 1e9, 45065.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 5) * 1e9, 45447.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 10) * 1e9, 45853, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 15) * 1e9, 46273.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 20) * 1e9, 46711, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 25) * 1e9, 47175.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 30) * 1e9, 47679.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 35) * 1e9, 48228.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 40) * 1e9, 48825.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 45) * 1e9, 49470.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 50) * 1e9, 50159.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 55) * 1e9, 50893.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 60) * 1e9, 51667.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 65) * 1e9, 52471, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 70) * 1e9, 53281.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 75) * 1e9, 54068.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 80) * 1e9, 54792.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 85) * 1e9, 55413.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 90) * 1e9, 55894.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 95) * 1e9, 56198.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 100) * 1e9, 56293.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 105) * 1e9, 56154.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 110) * 1e9, 55761.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 115) * 1e9, 55109.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 120) * 1e9, 54212, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 125) * 1e9, 53103.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 130) * 1e9, 51837.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 135) * 1e9, 50479.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 140) * 1e9, 49099.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 145) * 1e9, 47757.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 150) * 1e9, 46505.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 155) * 1e9, 45378, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 160) * 1e9, 44400.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 165) * 1e9, 43588.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 170) * 1e9, 42951.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 175) * 1e9, 42496.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(40, 180) * 1e9, 42223.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -180) * 1e9, 45210.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -175) * 1e9, 45101.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -170) * 1e9, 45169.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -165) * 1e9, 45409.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -160) * 1e9, 45812.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -155) * 1e9, 46363.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -150) * 1e9, 47042.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -145) * 1e9, 47823.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -140) * 1e9, 48677.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -135) * 1e9, 49570.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -130) * 1e9, 50473.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -125) * 1e9, 51355.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -120) * 1e9, 52190.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -115) * 1e9, 52952.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -110) * 1e9, 53616, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -105) * 1e9, 54152.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -100) * 1e9, 54532, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -95) * 1e9, 54727.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -90) * 1e9, 54717.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -85) * 1e9, 54492, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -80) * 1e9, 54055.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -75) * 1e9, 53430.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -70) * 1e9, 52657.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -65) * 1e9, 51786.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -60) * 1e9, 50875.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -55) * 1e9, 49979.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -50) * 1e9, 49146.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -45) * 1e9, 48407.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -40) * 1e9, 47780.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -35) * 1e9, 47273.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -30) * 1e9, 46885.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -25) * 1e9, 46617.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -20) * 1e9, 46467.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -15) * 1e9, 46433.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -10) * 1e9, 46509.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, -5) * 1e9, 46681.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 0) * 1e9, 46928.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 5) * 1e9, 47231.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 10) * 1e9, 47572.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 15) * 1e9, 47943.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 20) * 1e9, 48344.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 25) * 1e9, 48784.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 30) * 1e9, 49273.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 35) * 1e9, 49821.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 40) * 1e9, 50434.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 45) * 1e9, 51114.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 50) * 1e9, 51860.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 55) * 1e9, 52665.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 60) * 1e9, 53518.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 65) * 1e9, 54399.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 70) * 1e9, 55282.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 75) * 1e9, 56130.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 80) * 1e9, 56905, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 85) * 1e9, 57566, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 90) * 1e9, 58075.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 95) * 1e9, 58399.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 100) * 1e9, 58509.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 105) * 1e9, 58385, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 110) * 1e9, 58014.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 115) * 1e9, 57398.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 120) * 1e9, 56556.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 125) * 1e9, 55522.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 130) * 1e9, 54344.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 135) * 1e9, 53083.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 140) * 1e9, 51798, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 145) * 1e9, 50544.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 150) * 1e9, 49366.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 155) * 1e9, 48299.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 160) * 1e9, 47365.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 165) * 1e9, 46579.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 170) * 1e9, 45953.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 175) * 1e9, 45495.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(45, 180) * 1e9, 45210.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -180) * 1e9, 48316.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -175) * 1e9, 48204.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -170) * 1e9, 48255.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -165) * 1e9, 48465.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -160) * 1e9, 48826.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -155) * 1e9, 49323.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -150) * 1e9, 49937.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -145) * 1e9, 50641.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -140) * 1e9, 51406.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -135) * 1e9, 52204, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -130) * 1e9, 53003.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -125) * 1e9, 53778.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -120) * 1e9, 54503.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -115) * 1e9, 55156.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -110) * 1e9, 55713.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -105) * 1e9, 56151.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -100) * 1e9, 56447.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -95) * 1e9, 56581.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -90) * 1e9, 56537.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -85) * 1e9, 56308.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -80) * 1e9, 55899.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -75) * 1e9, 55327.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -70) * 1e9, 54624.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -65) * 1e9, 53830.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -60) * 1e9, 52989.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -55) * 1e9, 52148.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -50) * 1e9, 51344.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -45) * 1e9, 50609.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -40) * 1e9, 49962.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -35) * 1e9, 49416.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -30) * 1e9, 48976.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -25) * 1e9, 48645.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -20) * 1e9, 48424.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -15) * 1e9, 48310.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -10) * 1e9, 48299.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, -5) * 1e9, 48379.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 0) * 1e9, 48538.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 5) * 1e9, 48760.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 10) * 1e9, 49035, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 15) * 1e9, 49355.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 20) * 1e9, 49723.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 25) * 1e9, 50144.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 30) * 1e9, 50628, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 35) * 1e9, 51182.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 40) * 1e9, 51815.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 45) * 1e9, 52526.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 50) * 1e9, 53313.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 55) * 1e9, 54165.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 60) * 1e9, 55066.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 65) * 1e9, 55990.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 70) * 1e9, 56907.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 75) * 1e9, 57781.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 80) * 1e9, 58572.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 85) * 1e9, 59242.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 90) * 1e9, 59757.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 95) * 1e9, 60086.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 100) * 1e9, 60207.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 105) * 1e9, 60105.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 110) * 1e9, 59774.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 115) * 1e9, 59223.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 120) * 1e9, 58472.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 125) * 1e9, 57554.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 130) * 1e9, 56513.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 135) * 1e9, 55399.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 140) * 1e9, 54263.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 145) * 1e9, 53151.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 150) * 1e9, 52103.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 155) * 1e9, 51146.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 160) * 1e9, 50303.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 165) * 1e9, 49589.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 170) * 1e9, 49014.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 175) * 1e9, 48587.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(50, 180) * 1e9, 48316.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -180) * 1e9, 51305.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -175) * 1e9, 51197.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -170) * 1e9, 51224.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -165) * 1e9, 51386.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -160) * 1e9, 51674.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -155) * 1e9, 52077.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -150) * 1e9, 52576.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -145) * 1e9, 53150.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -140) * 1e9, 53775.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -135) * 1e9, 54424.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -130) * 1e9, 55074.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -125) * 1e9, 55700.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -120) * 1e9, 56281, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -115) * 1e9, 56795.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -110) * 1e9, 57225.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -105) * 1e9, 57551, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -100) * 1e9, 57755.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -95) * 1e9, 57825, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -90) * 1e9, 57747.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -85) * 1e9, 57520.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -80) * 1e9, 57146.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -75) * 1e9, 56640.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -70) * 1e9, 56024.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -65) * 1e9, 55327.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -60) * 1e9, 54582.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -55) * 1e9, 53824.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -50) * 1e9, 53085.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -45) * 1e9, 52389.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -40) * 1e9, 51758.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -35) * 1e9, 51206.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -30) * 1e9, 50742.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -25) * 1e9, 50371.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -20) * 1e9, 50097.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -15) * 1e9, 49919.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -10) * 1e9, 49834.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, -5) * 1e9, 49836.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 0) * 1e9, 49917.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 5) * 1e9, 50068.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 10) * 1e9, 50284.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 15) * 1e9, 50562.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 20) * 1e9, 50902.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 25) * 1e9, 51310, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 30) * 1e9, 51790.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 35) * 1e9, 52350.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 40) * 1e9, 52992.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 45) * 1e9, 53716.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 50) * 1e9, 54515.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 55) * 1e9, 55375, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 60) * 1e9, 56276.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 65) * 1e9, 57193.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 70) * 1e9, 58094.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 75) * 1e9, 58945.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 80) * 1e9, 59711.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 85) * 1e9, 60357.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 90) * 1e9, 60854.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 95) * 1e9, 61176.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 100) * 1e9, 61307.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 105) * 1e9, 61237.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 110) * 1e9, 60968.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 115) * 1e9, 60509.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 120) * 1e9, 59881.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 125) * 1e9, 59115.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 130) * 1e9, 58247.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 135) * 1e9, 57319.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 140) * 1e9, 56370.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 145) * 1e9, 55439.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 150) * 1e9, 54556.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 155) * 1e9, 53746.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 160) * 1e9, 53029.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 165) * 1e9, 52417.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 170) * 1e9, 51920.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 175) * 1e9, 51548.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(55, 180) * 1e9, 51305.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -180) * 1e9, 53920, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -175) * 1e9, 53812.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -170) * 1e9, 53809, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -165) * 1e9, 53907.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -160) * 1e9, 54102.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -155) * 1e9, 54384.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -150) * 1e9, 54740.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -145) * 1e9, 55153, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -140) * 1e9, 55604.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -135) * 1e9, 56076.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -130) * 1e9, 56548, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -125) * 1e9, 57000.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -120) * 1e9, 57417.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -115) * 1e9, 57780.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -110) * 1e9, 58074.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -105) * 1e9, 58286.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -100) * 1e9, 58402.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -95) * 1e9, 58412.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -90) * 1e9, 58310.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -85) * 1e9, 58092.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -80) * 1e9, 57764.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -75) * 1e9, 57333.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -70) * 1e9, 56816.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -65) * 1e9, 56232.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -60) * 1e9, 55605.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -55) * 1e9, 54958.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -50) * 1e9, 54315.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -45) * 1e9, 53697.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -40) * 1e9, 53122.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -35) * 1e9, 52604.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -30) * 1e9, 52153.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -25) * 1e9, 51778.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -20) * 1e9, 51482.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -15) * 1e9, 51269.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -10) * 1e9, 51138.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, -5) * 1e9, 51087.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 0) * 1e9, 51114.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 5) * 1e9, 51215, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 10) * 1e9, 51387.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 15) * 1e9, 51631.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 20) * 1e9, 51948.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 25) * 1e9, 52339.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 30) * 1e9, 52808.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 35) * 1e9, 53356.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 40) * 1e9, 53984.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 45) * 1e9, 54686.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 50) * 1e9, 55452.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 55) * 1e9, 56270, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 60) * 1e9, 57117.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 65) * 1e9, 57970.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 70) * 1e9, 58802, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 75) * 1e9, 59581.7, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 80) * 1e9, 60280, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 85) * 1e9, 60869.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 90) * 1e9, 61326.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 95) * 1e9, 61631.5, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 100) * 1e9, 61773.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 105) * 1e9, 61747.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 110) * 1e9, 61556.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 115) * 1e9, 61211.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 120) * 1e9, 60731.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 125) * 1e9, 60140.6, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 130) * 1e9, 59468.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 135) * 1e9, 58745.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 140) * 1e9, 58003.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 145) * 1e9, 57270.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 150) * 1e9, 56571.2, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 155) * 1e9, 55925.1, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 160) * 1e9, 55347.8, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 165) * 1e9, 54850.9, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 170) * 1e9, 54443.3, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 175) * 1e9, 54131.4, 145 + 500);
	EXPECT_NEAR(get_mag_strength_tesla(60, 180) * 1e9, 53920, 145 + 500);
}
